sh: use the new byteorder headers
PATCH 17/23 sh: use the new byteorder headers
Acked-by Paul Mundt <[email protected]>
Signed-off-by Harvey Harrison <[email protected]>
--- arch/sh/include/asm/byteorder.h | 36 +++++++++++++++++------------------- 1 files changed, 17 insertions(+), 19 deletions(-)
arch/sh/include/asm/byteorder.h +17 -19
@@ -8,7 +8,15 @@#include <linux/compiler.h> #include <linux/types.h> -static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) +#ifdef __LITTLE_ENDIAN__ +# define __LITTLE_ENDIAN +#else +# define __BIG_ENDIAN +#endif + +#define __SWAB_64_THRU_32__ + +static inline __attribute_const__ __u32 __arch_swab32(__u32 x) { __asm__(#ifdef __SH5__
@@ -24,8 +32,9 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)return x; } +#define __arch_swab32 __arch_swab32 -static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) +static inline __attribute_const__ __u16 __arch_swab16(__u16 x) { __asm__(#ifdef __SH5__
@@ -39,32 +48,21 @@ static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) return x; } +#define __arch_swab16 __arch_swab16 -static inline __u64 ___arch__swab64 (__u64 val) +static inline __u64 __arch_swab64 (__u64 val) {union {struct {__u32 a,b; } s;__u64 u; } v, w; v.u = val; - w.s.b =___arch__swab32 (v.s.a); - w.s.a =___arch__swab32 (v.s.b); + w.s.b =__arch_swab32 (v.s.a); + w.s.a =__arch_swab32 (v.s.b);return w.u; } +#define __arch_swab64 __arch_swab64 -#define __arch__swab64 (x) ___arch__swab64(x) -#define __arch__swab32 (x) ___arch__swab32(x) -#define __arch__swab16 (x) ___arch__swab16(x) - -#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) -# define __BYTEORDER_HAS_U64__ -# define __SWAB_64_THRU_32__ -#endif - -#ifdef __LITTLE_ENDIAN__ -#include <linux/byteorder/little_endian.h> -#else -#include <linux/byteorder/big_endian.h> -#endif +#include <linux/byteorder.h> #endif /* __ASM_SH_BYTEORDER_H */
Signature · 1 line
1.6.0.274.g8aacc