home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-parisc / ide.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.5 KB  |  69 lines

  1. /*
  2.  *  linux/include/asm-parisc/ide.h
  3.  *
  4.  *  Copyright (C) 1994-1996  Linus Torvalds & authors
  5.  */
  6.  
  7. /*
  8.  *  This file contains the PARISC architecture specific IDE code.
  9.  */
  10.  
  11. #ifndef __ASM_PARISC_IDE_H
  12. #define __ASM_PARISC_IDE_H
  13.  
  14. #ifdef __KERNEL__
  15.  
  16. #ifndef MAX_HWIFS
  17. #define MAX_HWIFS    2
  18. #endif
  19.  
  20. #define IDE_ARCH_OBSOLETE_INIT
  21. #define ide_default_io_ctl(base)    ((base) + 0x206) /* obsolete */
  22.  
  23. #define ide_request_irq(irq,hand,flg,dev,id)    request_irq((irq),(hand),(flg),(dev),(id))
  24. #define ide_free_irq(irq,dev_id)        free_irq((irq), (dev_id))
  25. #define ide_request_region(from,extent,name)    request_region((from), (extent), (name))
  26. #define ide_release_region(from,extent)        release_region((from), (extent))
  27. /* Generic I/O and MEMIO string operations.  */
  28.  
  29. #define __ide_insw    insw
  30. #define __ide_insl    insl
  31. #define __ide_outsw    outsw
  32. #define __ide_outsl    outsl
  33.  
  34. static __inline__ void __ide_mm_insw(void __iomem *port, void *addr, u32 count)
  35. {
  36.     while (count--) {
  37.         *(u16 *)addr = __raw_readw(port);
  38.         addr += 2;
  39.     }
  40. }
  41.  
  42. static __inline__ void __ide_mm_insl(void __iomem *port, void *addr, u32 count)
  43. {
  44.     while (count--) {
  45.         *(u32 *)addr = __raw_readl(port);
  46.         addr += 4;
  47.     }
  48. }
  49.  
  50. static __inline__ void __ide_mm_outsw(void __iomem *port, void *addr, u32 count)
  51. {
  52.     while (count--) {
  53.         __raw_writew(*(u16 *)addr, port);
  54.         addr += 2;
  55.     }
  56. }
  57.  
  58. static __inline__ void __ide_mm_outsl(void __iomem *port, void *addr, u32 count)
  59. {
  60.     while (count--) {
  61.         __raw_writel(*(u32 *)addr, port);
  62.         addr += 4;
  63.     }
  64. }
  65.  
  66. #endif /* __KERNEL__ */
  67.  
  68. #endif /* __ASM_PARISC_IDE_H */
  69.