[PATCH] linux/kernel.h: Update upper_NN_bits() and lower_NN_bits() macros
Marek Vasut
marek.vasut+renesas at mailbox.org
Mon Sep 22 14:29:22 CEST 2025
Synchronize upper_NN_bits() and lower_NN_bits() macros with Linux 6.16.7
commit 118d777c4cb4 ("wordpart.h: Add REPEAT_BYTE_U32()"). This fixes the
lower_32_bits() macros and assures it works with 64bit systems correctly.
This also adds 16bit variants of these macros, which will be used by the
Airoha PHY driver.
Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: "Lucien.Jheng" <lucienzx159 at gmail.com>
Cc: Rasmus Villemoes <ravi at prevas.dk>
Cc: Raymond Mao <raymond.mao at linaro.org>
Cc: Tom Rini <trini at konsulko.com>
Cc: u-boot at lists.denx.de
---
include/linux/kernel.h | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index e0443ecac84..44a639a5e4e 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -111,7 +111,19 @@
* lower_32_bits - return bits 0-31 of a number
* @n: the number we're accessing
*/
-#define lower_32_bits(n) ((u32)(n))
+#define lower_32_bits(n) ((u32)((n) & 0xffffffff))
+
+/**
+ * upper_16_bits - return bits 16-31 of a number
+ * @n: the number we're accessing
+ */
+#define upper_16_bits(n) ((u16)((n) >> 16))
+
+/**
+ * lower_16_bits - return bits 0-15 of a number
+ * @n: the number we're accessing
+ */
+#define lower_16_bits(n) ((u16)((n) & 0xffff))
/*
* abs() handles unsigned and signed longs, ints, shorts and chars. For all
--
2.51.0
More information about the U-Boot
mailing list