From 57d9212421e3a10fc336bed732e70b8521fea1e6 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 4 May 2026 21:59:47 -0700 Subject: [PATCH] Input: rmi4 - use sizeof(*ptr) and idiomatic checks in f12 allocators Using sizeof(*ptr) is preferred over sizeof(struct) because it is more robust against type changes. Also switch to checking for allocation failure immediately after each call, and update formatting. Assisted-by: Gemini:gemini-3.1-pro Link: https://patch.msgid.link/20260505045952.1570713-17-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov --- drivers/input/rmi4/rmi_f12.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/drivers/input/rmi4/rmi_f12.c b/drivers/input/rmi4/rmi_f12.c index 01838907c64b..34ed02b7f30f 100644 --- a/drivers/input/rmi4/rmi_f12.c +++ b/drivers/input/rmi4/rmi_f12.c @@ -528,16 +528,21 @@ static int rmi_f12_probe(struct rmi_function *fn) } /* allocate the in-kernel tracking buffers */ - sensor->tracking_pos = devm_kcalloc(&fn->dev, - sensor->nbr_fingers, sizeof(struct input_mt_pos), - GFP_KERNEL); - sensor->tracking_slots = devm_kcalloc(&fn->dev, - sensor->nbr_fingers, sizeof(int), GFP_KERNEL); - sensor->objs = devm_kcalloc(&fn->dev, - sensor->nbr_fingers, - sizeof(struct rmi_2d_sensor_abs_object), - GFP_KERNEL); - if (!sensor->tracking_pos || !sensor->tracking_slots || !sensor->objs) + sensor->tracking_pos = devm_kcalloc(&fn->dev, sensor->nbr_fingers, + sizeof(*sensor->tracking_pos), + GFP_KERNEL); + if (!sensor->tracking_pos) + return -ENOMEM; + + sensor->tracking_slots = devm_kcalloc(&fn->dev, sensor->nbr_fingers, + sizeof(*sensor->tracking_slots), + GFP_KERNEL); + if (!sensor->tracking_slots) + return -ENOMEM; + + sensor->objs = devm_kcalloc(&fn->dev, sensor->nbr_fingers, + sizeof(*sensor->objs), GFP_KERNEL); + if (!sensor->objs) return -ENOMEM; ret = rmi_2d_sensor_configure_input(fn, sensor);