avr32: use the new byteorder headers
authorHarvey Harrison <harvey.harrison@gmail.com>
Wed, 13 Aug 2008 00:26:35 +0000 (17:26 -0700)
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Mon, 22 Sep 2008 07:51:00 +0000 (09:51 +0200)
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
[haavard.skinnemoen@atmel.com: fix <mach/io.h> build breakage]
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
arch/avr32/include/asm/byteorder.h
arch/avr32/mach-at32ap/include/mach/io.h

index d77b48ba73387ba57ac932e5a6676d43b1c6a584..8e3af02076dd59d8eedcf2cec413392ee867f68d 100644 (file)
@@ -7,6 +7,9 @@
 #include <asm/types.h>
 #include <linux/compiler.h>
 
+#define __BIG_ENDIAN
+#define __SWAB_64_THRU_32__
+
 #ifdef __CHECKER__
 extern unsigned long __builtin_bswap_32(unsigned long x);
 extern unsigned short __builtin_bswap_16(unsigned short x);
@@ -17,15 +20,18 @@ extern unsigned short __builtin_bswap_16(unsigned short x);
  * the result.
  */
 #if !(__GNUC__ == 4 && __GNUC_MINOR__ < 2)
-#define __arch__swab32(x) __builtin_bswap_32(x)
-#define __arch__swab16(x) __builtin_bswap_16(x)
-#endif
+static inline __attribute_const__ __u16 __arch_swab16(__u16 val)
+{
+       return __builtin_bswap_16(val);
+}
+#define __arch_swab16 __arch_swab16
 
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-# define __BYTEORDER_HAS_U64__
-# define __SWAB_64_THRU_32__
+static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
+{
+       return __builtin_bswap_32(val);
+}
+#define __arch_swab32 __arch_swab32
 #endif
 
-#include <linux/byteorder/big_endian.h>
-
+#include <linux/byteorder.h>
 #endif /* __ASM_AVR32_BYTEORDER_H */
index 4ec6abc68ea38084fae0a1d269f5fd53ebe34589..22ea79b740528b62dcd0bc9c4a211e2236bde564 100644 (file)
@@ -1,8 +1,7 @@
 #ifndef __ASM_AVR32_ARCH_AT32AP_IO_H
 #define __ASM_AVR32_ARCH_AT32AP_IO_H
 
-/* For "bizarre" halfword swapping */
-#include <linux/byteorder/swabb.h>
+#include <linux/swab.h>
 
 #if defined(CONFIG_AP700X_32_BIT_SMC)
 # define __swizzle_addr_b(addr)        (addr ^ 3UL)