2 * AVR32 endian-conversion functions.
4 #ifndef __ASM_AVR32_BYTEORDER_H
5 #define __ASM_AVR32_BYTEORDER_H
8 #include <linux/compiler.h>
11 extern unsigned long __builtin_bswap_32(unsigned long x);
12 extern unsigned short __builtin_bswap_16(unsigned short x);
16 * avr32-linux-gcc versions earlier than 4.2 improperly sign-extends
19 #if !(__GNUC__ == 4 && __GNUC_MINOR__ < 2)
20 #define __arch__swab32(x) __builtin_bswap_32(x)
21 #define __arch__swab16(x) __builtin_bswap_16(x)
24 #if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
25 # define __BYTEORDER_HAS_U64__
26 # define __SWAB_64_THRU_32__
29 #include <linux/byteorder/big_endian.h>
31 #endif /* __ASM_AVR32_BYTEORDER_H */