byteorder: use generic C version for value byteswapping
PATCH 1/1 byteorder: use generic C version for value byteswapping
This makes the new implementation of the byteorder helpers match the old in how it degraded when an arch-defined version was not available:
1) swab()
- look for arch defined
- if not, use generic c version
2) swabp()
- look for arch-defined
- if not, deref pointer and use swab()
3) swabs()
- look for arch defined
- if not, use swabp
Signed-off-by Harvey Harrison <[email protected]>
---
David, I hope this has covered the last of your objections...also note that once each arch has moved over, __constant_{endian} will no longer be required.
include/linux/swab.h | 10 ---------- 1 files changed, 0 insertions(+), 10 deletions(-)
include/linux/swab.h +0 -10
@@ -47,8 +47,6 @@ static inline __attribute_const__ __u16 ___swab16(__u16 val) {#ifdef __arch_swab16return __arch_swab16 (val); -#elif defined(__arch_swab16p) -return __arch_swab16p (&val);#else return __const_swab16 (val);#endif
@@ -58,8 +56,6 @@ static inline __attribute_const__ __u32 ___swab32(__u32 val) {#ifdef __arch_swab32return __arch_swab32 (val); -#elif defined(__arch_swab32p) -return __arch_swab32p (&val);#else return __const_swab32 (val);#endif
@@ -69,8 +65,6 @@ static inline __attribute_const__ __u64 ___swab64(__u64 val) {#ifdef __arch_swab64return __arch_swab64 (val); -#elif defined(__arch_swab64p) -return __arch_swab64p (&val);#elif defined(__SWAB_64_THRU_32__)__u32 h = val >>32 ;__u32 l = val & ((1ULL <<32 ) -1 );
@@ -84,8 +78,6 @@ static inline __attribute_const__ __u32 ___swahw32(__u32 val) {#ifdef __arch_swahw32return __arch_swahw32 (val); -#elif defined(__arch_swahw32p) -return __arch_swahw32p (&val);#else return __const_swahw32 (val);#endif
@@ -95,8 +87,6 @@ static inline __attribute_const__ __u32 ___swahb32(__u32 val) {#ifdef __arch_swahb32return __arch_swahb32 (val); -#elif defined(__arch_swahb32p) -return __arch_swahb32p (&val);#else return __const_swahb32 (val);#endif
Signature · 1 line
1.6.0.366.gf9ffa8