home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-m68k / sbus.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.0 KB  |  46 lines

  1. /*
  2.  * some sbus structures and macros to make usage of sbus drivers possible
  3.  */
  4.  
  5. #ifndef __M68K_SBUS_H
  6. #define __M68K_SBUS_H
  7.  
  8. struct sbus_dev {
  9.     struct {
  10.         unsigned int which_io;
  11.         unsigned int phys_addr;
  12.     } reg_addrs[1];
  13. };
  14.  
  15. /* sbus IO functions stolen from include/asm-sparc/io.h for the serial driver */
  16. /* No SBUS on the Sun3, kludge -- sam */
  17.  
  18. static inline void _sbus_writeb(unsigned char val, unsigned long addr)
  19. {
  20.     *(volatile unsigned char *)addr = val;
  21. }
  22.  
  23. static inline unsigned char _sbus_readb(unsigned long addr)
  24. {
  25.     return *(volatile unsigned char *)addr;
  26. }
  27.  
  28. static inline void _sbus_writel(unsigned long val, unsigned long addr)
  29. {
  30.     *(volatile unsigned long *)addr = val;
  31.  
  32. }
  33.  
  34. extern inline unsigned long _sbus_readl(unsigned long addr)
  35. {
  36.     return *(volatile unsigned long *)addr;
  37. }
  38.  
  39.  
  40. #define sbus_readb(a) _sbus_readb((unsigned long)a)
  41. #define sbus_writeb(v, a) _sbus_writeb(v, (unsigned long)a)
  42. #define sbus_readl(a) _sbus_readl((unsigned long)a)
  43. #define sbus_writel(v, a) _sbus_writel(v, (unsigned long)a)
  44.  
  45. #endif
  46.