summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJinjie Ruan <ruanjinjie@huawei.com>2026-05-06 13:52:04 -0400
committerYury Norov <ynorov@nvidia.com>2026-05-28 11:39:16 -0400
commit83aede8131afa99b26034f81fe77181eba38b0c2 (patch)
treee3f8cbdbe70f8d5e9f143f1e0962e4d0aa0c05a8 /include/linux
parent00751d655ece97fe85ce9193542ee8396fe98651 (diff)
bitops: Define generic___bitrev8/16/32 for reuse
Define generic___bitrev8/16/32 using the implementation in <linux/bitrev.h>, so they can be reused in <asm/bitrev.h>, such as RISCV. Reviewed-by: Yury Norov <ynorov@nvidia.com> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Signed-off-by: Yury Norov <ynorov@nvidia.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bitrev.h20
1 files changed, 4 insertions, 16 deletions
diff --git a/include/linux/bitrev.h b/include/linux/bitrev.h
index d35b8ec1c485..11620a70e776 100644
--- a/include/linux/bitrev.h
+++ b/include/linux/bitrev.h
@@ -12,22 +12,10 @@
#define __bitrev8 __arch_bitrev8
#else
-extern u8 const byte_rev_table[256];
-static inline u8 __bitrev8(u8 byte)
-{
- return byte_rev_table[byte];
-}
-
-static inline u16 __bitrev16(u16 x)
-{
- return (__bitrev8(x & 0xff) << 8) | __bitrev8(x >> 8);
-}
-
-static inline u32 __bitrev32(u32 x)
-{
- return (__bitrev16(x & 0xffff) << 16) | __bitrev16(x >> 16);
-}
-
+#include <asm-generic/bitops/__bitrev.h>
+#define __bitrev32 generic___bitrev32
+#define __bitrev16 generic___bitrev16
+#define __bitrev8 generic___bitrev8
#endif /* CONFIG_HAVE_ARCH_BITREVERSE */
#define __bitrev8x4(x) (__bitrev32(swab32(x)))