1 #ifndef _CRIS_ARCH_SWAB_H 2 #define _CRIS_ARCH_SWAB_H 3 4 #include <asm/types.h> 5 #include <linux/compiler.h> 6 7 #define __SWAB_64_THRU_32__ 8 9 /* we just define these two (as we can do the swap in a single 10 * asm instruction in CRIS) and the arch-independent files will put 11 * them together into ntohl etc. 12 */ 13 __arch_swab32(__u32 x)14static inline __attribute_const__ __u32 __arch_swab32(__u32 x) 15 { 16 __asm__ ("swapwb %0" : "=r" (x) : "0" (x)); 17 18 return(x); 19 } 20 #define __arch_swab32 __arch_swab32 21 __arch_swab16(__u16 x)22static inline __attribute_const__ __u16 __arch_swab16(__u16 x) 23 { 24 __asm__ ("swapb %0" : "=r" (x) : "0" (x)); 25 26 return(x); 27 } 28 #define __arch_swab16 __arch_swab16 29 30 #endif 31