Signed-off-by: Nathan Sidwell --- arch/m68k/include/asm/swab_mm.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/arch/m68k/include/asm/swab_mm.h b/arch/m68k/include/asm/swab_mm.h index 7221e30..a391274 100644 --- a/arch/m68k/include/asm/swab_mm.h +++ b/arch/m68k/include/asm/swab_mm.h @@ -6,11 +6,20 @@ #define __SWAB_64_THRU_32__ +#if defined (__mcfisaaplus__) || defined (__mcfisac__) +static inline __attribute_const__ __u32 __arch_swab32(__u32 val) +{ + __asm__ ("byterev %0" : "=d" (val) : "0" (val)); + return val; +} +#define __arch_swab32 __arch_swab32 +#elif !defined (__mcoldfire__) static inline __attribute_const__ __u32 __arch_swab32(__u32 val) { __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val)); return val; } #define __arch_swab32 __arch_swab32 +#endif #endif /* _M68K_SWAB_H */ -- 1.5.2.5