]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: atmel_mxt_ts - use __free() for obuf in mxt_object_show
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 4 May 2026 18:54:47 +0000 (11:54 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 7 May 2026 17:12:00 +0000 (10:12 -0700)
Use the __free(kfree) macro for the obuf allocation in mxt_object_show()
to simplify the code.

Assisted-by: Gemini:gemini-3.1-pro
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://patch.msgid.link/20260504185448.4055973-3-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/atmel_mxt_ts.c

index 26ba82fb60b68ca59ef382f0b4b9f28d70ef551f..a9e86ad7ed5ef939a064243f9fd7f5822eb3adaf 100644 (file)
@@ -2834,14 +2834,12 @@ static ssize_t mxt_object_show(struct device *dev,
        int count = 0;
        int i, j;
        int error;
-       u8 *obuf;
 
        /* Pre-allocate buffer large enough to hold max sized object. */
-       obuf = kmalloc(256, GFP_KERNEL);
+       u8 *obuf __free(kfree) = kmalloc(256, GFP_KERNEL);
        if (!obuf)
                return -ENOMEM;
 
-       error = 0;
        for (i = 0; i < data->info->object_num; i++) {
                object = data->object_table + i;
 
@@ -2856,15 +2854,13 @@ static ssize_t mxt_object_show(struct device *dev,
 
                        error = __mxt_read_reg(data->client, addr, size, obuf);
                        if (error)
-                               goto done;
+                               return error;
 
                        count = mxt_show_instance(buf, count, object, j, obuf);
                }
        }
 
-done:
-       kfree(obuf);
-       return error ?: count;
+       return count;
 }
 
 static int mxt_check_firmware_format(struct device *dev,