gpio: stmpe: use gpiochip_dup_line_label()
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 4 Dec 2023 09:35:03 +0000 (10:35 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 8 Dec 2023 08:26:28 +0000 (09:26 +0100)
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-stmpe.c

index 27cc4da5356540f4b2edca75de9b0b0a960cc9a6..6c5ee81d71b3fb92bc138b5268ecbda371070747 100644 (file)
@@ -5,6 +5,7 @@
  * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
  */
 
+#include <linux/cleanup.h>
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/slab.h>
@@ -255,7 +256,6 @@ static void stmpe_dbg_show_one(struct seq_file *s,
 {
        struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc);
        struct stmpe *stmpe = stmpe_gpio->stmpe;
-       const char *label = gpiochip_is_requested(gc, offset);
        bool val = !!stmpe_gpio_get(gc, offset);
        u8 bank = offset / 8;
        u8 dir_reg = stmpe->regs[STMPE_IDX_GPDR_LSB + bank];
@@ -263,6 +263,10 @@ static void stmpe_dbg_show_one(struct seq_file *s,
        int ret;
        u8 dir;
 
+       char *label __free(kfree) = gpiochip_dup_line_label(gc, offset);
+       if (IS_ERR(label))
+               return;
+
        ret = stmpe_reg_read(stmpe, dir_reg);
        if (ret < 0)
                return;