zorro.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef _ASM_M68K_ZORRO_H
  2. #define _ASM_M68K_ZORRO_H
  3. #include <asm/raw_io.h>
  4. #define z_readb raw_inb
  5. #define z_readw raw_inw
  6. #define z_readl raw_inl
  7. #define z_writeb raw_outb
  8. #define z_writew raw_outw
  9. #define z_writel raw_outl
  10. #define z_memset_io(a,b,c) memset((void *)(a),(b),(c))
  11. #define z_memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c))
  12. #define z_memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c))
  13. /* Values for nocacheflag and cmode */
  14. #ifndef IOMAP_FULL_CACHING
  15. #define IOMAP_FULL_CACHING 0
  16. #define IOMAP_NOCACHE_SER 1
  17. #define IOMAP_NOCACHE_NONSER 2
  18. #define IOMAP_WRITETHROUGH 3
  19. #endif
  20. extern void iounmap(void *addr);
  21. extern void *__ioremap(unsigned long physaddr, unsigned long size,
  22.        int cacheflag);
  23. extern void __iounmap(void *addr, unsigned long size);
  24. extern inline void *z_remap_nocache_ser(unsigned long physaddr, 
  25.   unsigned long size)
  26. {
  27. return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
  28. }
  29. extern inline void *z_remap_nocache_nonser(unsigned long physaddr, 
  30.      unsigned long size)
  31. {
  32. return __ioremap(physaddr, size, IOMAP_NOCACHE_NONSER);
  33. }
  34. extern inline void *z_remap_writethrough(unsigned long physaddr,
  35.    unsigned long size)
  36. {
  37. return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
  38. }
  39. extern inline void *z_remap_fullcache(unsigned long physaddr,
  40. unsigned long size)
  41. {
  42. return __ioremap(physaddr, size, IOMAP_FULL_CACHING);
  43. }
  44. #define z_unmap iounmap
  45. #define z_iounmap iounmap
  46. #define z_ioremap z_remap_nocache_ser
  47. #endif /* _ASM_ZORRO_H */