1*5e61cba0SAndrew Jones #ifndef _ASMARM_IO_H_ 2*5e61cba0SAndrew Jones #define _ASMARM_IO_H_ 3*5e61cba0SAndrew Jones #include "libcflat.h" 4*5e61cba0SAndrew Jones #include "asm/barrier.h" 5*5e61cba0SAndrew Jones 6*5e61cba0SAndrew Jones #define __bswap16 bswap16 7*5e61cba0SAndrew Jones static inline u16 bswap16(u16 val) 8*5e61cba0SAndrew Jones { 9*5e61cba0SAndrew Jones u16 ret; 10*5e61cba0SAndrew Jones asm volatile("rev16 %0, %1" : "=r" (ret) : "r" (val)); 11*5e61cba0SAndrew Jones return ret; 12*5e61cba0SAndrew Jones } 13*5e61cba0SAndrew Jones 14*5e61cba0SAndrew Jones #define __bswap32 bswap32 15*5e61cba0SAndrew Jones static inline u32 bswap32(u32 val) 16*5e61cba0SAndrew Jones { 17*5e61cba0SAndrew Jones u32 ret; 18*5e61cba0SAndrew Jones asm volatile("rev %0, %1" : "=r" (ret) : "r" (val)); 19*5e61cba0SAndrew Jones return ret; 20*5e61cba0SAndrew Jones } 21*5e61cba0SAndrew Jones 22*5e61cba0SAndrew Jones #include "asm-generic/io.h" 23*5e61cba0SAndrew Jones 24*5e61cba0SAndrew Jones #endif /* _ASMARM_IO_H_ */ 25