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-sh / io_generic.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.1 KB  |  50 lines

  1. /*
  2.  * Trivial I/O routine definitions, intentionally meant to be included
  3.  * multiple times. Ugly I/O routine concatenation helpers taken from
  4.  * alpha. Must be included _before_ io.h to avoid preprocessor-induced
  5.  * routine mismatch.
  6.  */
  7. #define IO_CONCAT(a,b)    _IO_CONCAT(a,b)
  8. #define _IO_CONCAT(a,b)    a ## _ ## b
  9.  
  10. #ifndef __IO_PREFIX
  11. #error "Don't include this header without a valid system prefix"
  12. #endif
  13.  
  14. u8 IO_CONCAT(__IO_PREFIX,inb)(unsigned long);
  15. u16 IO_CONCAT(__IO_PREFIX,inw)(unsigned long);
  16. u32 IO_CONCAT(__IO_PREFIX,inl)(unsigned long);
  17.  
  18. void IO_CONCAT(__IO_PREFIX,outb)(u8, unsigned long);
  19. void IO_CONCAT(__IO_PREFIX,outw)(u16, unsigned long);
  20. void IO_CONCAT(__IO_PREFIX,outl)(u32, unsigned long);
  21.  
  22. u8 IO_CONCAT(__IO_PREFIX,inb_p)(unsigned long);
  23. u16 IO_CONCAT(__IO_PREFIX,inw_p)(unsigned long);
  24. u32 IO_CONCAT(__IO_PREFIX,inl_p)(unsigned long);
  25. void IO_CONCAT(__IO_PREFIX,outb_p)(u8, unsigned long);
  26. void IO_CONCAT(__IO_PREFIX,outw_p)(u16, unsigned long);
  27. void IO_CONCAT(__IO_PREFIX,outl_p)(u32, unsigned long);
  28.  
  29. void IO_CONCAT(__IO_PREFIX,insb)(unsigned long, void *dst, unsigned long count);
  30. void IO_CONCAT(__IO_PREFIX,insw)(unsigned long, void *dst, unsigned long count);
  31. void IO_CONCAT(__IO_PREFIX,insl)(unsigned long, void *dst, unsigned long count);
  32. void IO_CONCAT(__IO_PREFIX,outsb)(unsigned long, const void *src, unsigned long count);
  33. void IO_CONCAT(__IO_PREFIX,outsw)(unsigned long, const void *src, unsigned long count);
  34. void IO_CONCAT(__IO_PREFIX,outsl)(unsigned long, const void *src, unsigned long count);
  35.  
  36. u8 IO_CONCAT(__IO_PREFIX,readb)(void __iomem *);
  37. u16 IO_CONCAT(__IO_PREFIX,readw)(void __iomem *);
  38. u32 IO_CONCAT(__IO_PREFIX,readl)(void __iomem *);
  39. void IO_CONCAT(__IO_PREFIX,writeb)(u8, void __iomem *);
  40. void IO_CONCAT(__IO_PREFIX,writew)(u16, void __iomem *);
  41. void IO_CONCAT(__IO_PREFIX,writel)(u32, void __iomem *);
  42.  
  43. void *IO_CONCAT(__IO_PREFIX,ioremap)(unsigned long offset, unsigned long size);
  44. void IO_CONCAT(__IO_PREFIX,iounmap)(void *addr);
  45.  
  46. void __iomem *IO_CONCAT(__IO_PREFIX,ioport_map)(unsigned long addr, unsigned int size);
  47. void IO_CONCAT(__IO_PREFIX,ioport_unmap)(void __iomem *addr);
  48.  
  49. #undef __IO_PREFIX
  50.