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 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 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