/arch/avr32/mach-at32ap/include/mach/io.h

https://bitbucket.org/thekraven/iscream_thunderc-2.6.35 · C++ Header · 38 lines · 35 code · 3 blank · 0 comment · 0 complexity · ada9f8a12b861528673c0a3c03b410a6 MD5 · raw file

  1. #ifndef __ASM_AVR32_ARCH_AT32AP_IO_H
  2. #define __ASM_AVR32_ARCH_AT32AP_IO_H
  3. #include <linux/swab.h>
  4. #if defined(CONFIG_AP700X_32_BIT_SMC)
  5. # define __swizzle_addr_b(addr) (addr ^ 3UL)
  6. # define __swizzle_addr_w(addr) (addr ^ 2UL)
  7. # define __swizzle_addr_l(addr) (addr)
  8. # define ioswabb(a, x) (x)
  9. # define ioswabw(a, x) (x)
  10. # define ioswabl(a, x) (x)
  11. # define __mem_ioswabb(a, x) (x)
  12. # define __mem_ioswabw(a, x) swab16(x)
  13. # define __mem_ioswabl(a, x) swab32(x)
  14. #elif defined(CONFIG_AP700X_16_BIT_SMC)
  15. # define __swizzle_addr_b(addr) (addr ^ 1UL)
  16. # define __swizzle_addr_w(addr) (addr)
  17. # define __swizzle_addr_l(addr) (addr)
  18. # define ioswabb(a, x) (x)
  19. # define ioswabw(a, x) (x)
  20. # define ioswabl(a, x) swahw32(x)
  21. # define __mem_ioswabb(a, x) (x)
  22. # define __mem_ioswabw(a, x) swab16(x)
  23. # define __mem_ioswabl(a, x) swahb32(x)
  24. #else
  25. # define __swizzle_addr_b(addr) (addr)
  26. # define __swizzle_addr_w(addr) (addr)
  27. # define __swizzle_addr_l(addr) (addr)
  28. # define ioswabb(a, x) (x)
  29. # define ioswabw(a, x) swab16(x)
  30. # define ioswabl(a, x) swab32(x)
  31. # define __mem_ioswabb(a, x) (x)
  32. # define __mem_ioswabw(a, x) (x)
  33. # define __mem_ioswabl(a, x) (x)
  34. #endif
  35. #endif /* __ASM_AVR32_ARCH_AT32AP_IO_H */