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-m68k / sbus.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.1 KB  |  51 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. extern void *sparc_alloc_io (u32, void *, int, char *, u32, int);
  16. #define sparc_alloc_io(a,b,c,d,e,f)    (a)
  17.  
  18. #define ARCH_SUN4  0
  19.  
  20. /* sbus IO functions stolen from include/asm-sparc/io.h for the serial driver */
  21. /* No SBUS on the Sun3, kludge -- sam */
  22.  
  23. static inline void _sbus_writeb(unsigned char val, unsigned long addr)
  24. {
  25.     *(volatile unsigned char *)addr = val;
  26. }
  27.  
  28. static inline unsigned char _sbus_readb(unsigned long addr)
  29. {
  30.     return *(volatile unsigned char *)addr;
  31. }
  32.  
  33. static inline void _sbus_writel(unsigned long val, unsigned long addr)
  34. {
  35.     *(volatile unsigned long *)addr = val;
  36.  
  37. }
  38.  
  39. extern inline unsigned long _sbus_readl(unsigned long addr)
  40. {
  41.     return *(volatile unsigned long *)addr;
  42. }
  43.  
  44.  
  45. #define sbus_readb(a) _sbus_readb((unsigned long)a)
  46. #define sbus_writeb(v, a) _sbus_writeb(v, (unsigned long)a)
  47. #define sbus_readl(a) _sbus_readl((unsigned long)a)
  48. #define sbus_writel(v, a) _sbus_writel(v, (unsigned long)a)
  49.  
  50. #endif
  51.