]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Input: rmi4 - use sizeof(*ptr) and idiomatic checks in f12 allocators
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 5 May 2026 04:59:47 +0000 (21:59 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 12 Jun 2026 05:39:29 +0000 (22:39 -0700)
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 <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_f12.c

index 01838907c64b2f654115245be42045b1093cc962..34ed02b7f30f8936702d352e684b6aa3200621b3 100644 (file)
@@ -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);