include: sbi: Introduce common endianess conversion macro
authorHimanshu Chauhan <hchauhan@ventanamicro.com>
Tue, 9 Jan 2024 17:00:13 +0000 (22:30 +0530)
committerAnup Patel <anup@brainfault.org>
Wed, 10 Jan 2024 04:13:28 +0000 (09:43 +0530)
Introduce cpu_to_lle and lle_to_cpu macros which invoke
correct word length cpu_to_le<64/32> conversion based on
__riscv_xlen.

Signed-off-by: Himanshu Chauhan <hchauhan@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
include/sbi/sbi_byteorder.h

index 15107e1ea3d13f7ab6fd0cb2a99a70cb2afccb4c..db6eb2b967ef7fcaa6adefd7ffaede56a8917a67 100644 (file)
 #define le64_to_cpu(x)         ((uint64_t)BSWAP64(x))
 #endif
 
+#if __riscv_xlen == 64
+#define cpu_to_lle             cpu_to_le64
+#define lle_to_cpu             le64_to_cpu
+#elif __riscv_xlen == 32
+#define cpu_to_lle             cpu_to_le32
+#define lle_to_cpu             le32_to_cpu
+#else
+#error "Unknown __riscv_xlen"
+#endif
+
 #endif /* __SBI_BYTEORDER_H__ */