leds: trigger: gpio: Replace custom code for gpiod_get_optional()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 3 Nov 2023 19:53:07 +0000 (21:53 +0200)
committerLee Jones <lee@kernel.org>
Wed, 13 Dec 2023 11:28:36 +0000 (11:28 +0000)
gpiod_get_optional() and currently used fwnode_gpiod_get_index()
are both wrappers against the same engine internally. Since we
have a pointer to struct device there is no reason to use fwnode
type of GPIO call. So, replace the current fwnode call by respective
gpiod ones.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20231103195310.948327-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/trigger/ledtrig-gpio.c

index 9b7fe5d..d91ae7f 100644 (file)
@@ -89,10 +89,7 @@ static int gpio_trig_activate(struct led_classdev *led)
         * The generic property "trigger-sources" is followed,
         * and we hope that this is a GPIO.
         */
-       gpio_data->gpiod = fwnode_gpiod_get_index(dev->fwnode,
-                                                 "trigger-sources",
-                                                 0, GPIOD_IN,
-                                                 "led-trigger");
+       gpio_data->gpiod = gpiod_get_optional(dev, "trigger-sources", GPIOD_IN);
        if (IS_ERR(gpio_data->gpiod)) {
                ret = PTR_ERR(gpio_data->gpiod);
                kfree(gpio_data);
@@ -104,6 +101,8 @@ static int gpio_trig_activate(struct led_classdev *led)
                return -EINVAL;
        }
 
+       gpiod_set_consumer_name(gpio_data->gpiod, "led-trigger");
+
        gpio_data->led = led;
        led_set_trigger_data(led, gpio_data);