[PATCH] firmware: arm_scmi: base: Simplify protocol list size calculation

Peng Fan (OSS) peng.fan at oss.nxp.com
Fri Feb 27 19:37:33 PST 2026


From: Peng Fan <peng.fan at nxp.com>

Replace the open-coded round-up calculation with the kernel's round_up()
helper function for better readability.

The original expression:
  (1 + (loop_num_ret - 1) / sizeof(u32)) * sizeof(u32)

is equivalent to rounding up loop_num_ret to the nearest multiple of
sizeof(u32), which is exactly what round_up() does.

No functional changes.

Signed-off-by: Peng Fan <peng.fan at nxp.com>
---
 drivers/firmware/arm_scmi/base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/arm_scmi/base.c b/drivers/firmware/arm_scmi/base.c
index 22267bbd0f4db9e244480b3b9a3b5669e92d82c4..cd1331c2fc40355b54716d4b4fee69b017d3817e 100644
--- a/drivers/firmware/arm_scmi/base.c
+++ b/drivers/firmware/arm_scmi/base.c
@@ -7,6 +7,7 @@
 
 #define pr_fmt(fmt) "SCMI Notifications BASE - " fmt
 
+#include <linux/math.h>
 #include <linux/module.h>
 #include <linux/scmi_protocol.h>
 
@@ -219,8 +220,7 @@ scmi_base_implementation_list_get(const struct scmi_protocol_handle *ph,
 		}
 
 		real_list_sz = t->rx.len - sizeof(u32);
-		calc_list_sz = (1 + (loop_num_ret - 1) / sizeof(u32)) *
-				sizeof(u32);
+		calc_list_sz = round_up(loop_num_ret, sizeof(u32));
 		if (calc_list_sz != real_list_sz) {
 			dev_warn(dev,
 				 "Malformed reply - real_sz:%zd  calc_sz:%u  (loop_num_ret:%d)\n",

---
base-commit: 7d6661873f6b54c75195780a40d66bad3d482d8f
change-id: 20260227-scmi-check-515d02b3c288

Best regards,
-- 
Peng Fan <peng.fan at nxp.com>




More information about the linux-arm-kernel mailing list