From 03d4fc2e2f23c6c98a32dfa6c6b5c36ca2c32a0c Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 29 Apr 2015 11:54:43 +0300 Subject: [PATCH] byteorder: Add macros for 32bits values As for 16 bits integers, let's add utility byteordering macros for 32 bits integers. Change-Id: I3113b9890992e4335d300a17738e5bb772b719ae Signed-off-by: Tomasz Bursztyka --- include/misc/byteorder.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/misc/byteorder.h b/include/misc/byteorder.h index 7f1aca2692a..2664e6ebfee 100644 --- a/include/misc/byteorder.h +++ b/include/misc/byteorder.h @@ -33,10 +33,16 @@ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define sys_le16_to_cpu(val) (val) #define sys_cpu_to_le16(val) (val) +#define sys_le32_to_cpu(val) (val) +#define sys_cpu_to_le32(val) (val) #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #define bswap_16(x) ((uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) #define sys_le16_to_cpu(val) bswap_16(val) #define sys_cpu_to_le16(val) bswap_16(val) +#define bswap_32(x) ((uint32_t) ((((x) >> 24) & 0xff) | (((x) >> 8) & 0xff00) \ + | (((x) & 0xff00) << 8) | (((x) & 0xff) << 24))) +#define sys_le32_to_cpu(val) bswap_32(val) +#define sys_cpu_to_le32(val) bswap_32(val) #else #error "Unknown byte order" #endif