diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/include/asm/byteorder.h | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/arch/arm/include/asm/byteorder.h b/arch/arm/include/asm/byteorder.h index 4fbfb22f65a0..d04a7a2bc2e9 100644 --- a/arch/arm/include/asm/byteorder.h +++ b/arch/arm/include/asm/byteorder.h | |||
@@ -18,7 +18,15 @@ | |||
18 | #include <linux/compiler.h> | 18 | #include <linux/compiler.h> |
19 | #include <asm/types.h> | 19 | #include <asm/types.h> |
20 | 20 | ||
21 | static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) | 21 | #ifdef __ARMEB__ |
22 | # define __BIG_ENDIAN | ||
23 | #else | ||
24 | # define __LITTLE_ENDIAN | ||
25 | #endif | ||
26 | |||
27 | #define __SWAB_64_THRU_32__ | ||
28 | |||
29 | static inline __attribute_const__ __u32 __arch_swab32(__u32 x) | ||
22 | { | 30 | { |
23 | __u32 t; | 31 | __u32 t; |
24 | 32 | ||
@@ -40,19 +48,8 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) | |||
40 | 48 | ||
41 | return x; | 49 | return x; |
42 | } | 50 | } |
51 | #define __arch_swab32 __arch_swab32 | ||
43 | 52 | ||
44 | #define __arch__swab32(x) ___arch__swab32(x) | 53 | #include <linux/byteorder.h> |
45 | |||
46 | #if !defined(__STRICT_ANSI__) || defined(__KERNEL__) | ||
47 | # define __BYTEORDER_HAS_U64__ | ||
48 | # define __SWAB_64_THRU_32__ | ||
49 | #endif | ||
50 | |||
51 | #ifdef __ARMEB__ | ||
52 | #include <linux/byteorder/big_endian.h> | ||
53 | #else | ||
54 | #include <linux/byteorder/little_endian.h> | ||
55 | #endif | ||
56 | 54 | ||
57 | #endif | 55 | #endif |
58 | |||