leds: lp55xx: Use gpiod_set_value_cansleep()
authorStefan Eichenberger <eichest@gmail.com>
Mon, 18 Sep 2023 14:32:38 +0000 (16:32 +0200)
committerLee Jones <lee@kernel.org>
Wed, 1 Nov 2023 11:28:42 +0000 (11:28 +0000)
Use gpiod_set_value_cansleep in the init_device function. Without this
change, the driver may print a warning if the LP55xx enable pin is
connected to a GPIO chip which can sleep (e.g. a GPIO expander):

WARNING: CPU: 0 PID: 2719 at drivers/gpio/gpiolib.c:3051 gpiod_set_value+0x64/0xbc

Signed-off-by: Stefan Eichenberger <eichest@gmail.com>
Link: https://lore.kernel.org/r/20230918143238.75600-1-eichest@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/leds-lp55xx-common.c

index 77bb26906ea6e43ac1318f38cac8939c057b567d..8e7074f0fee002138581614f71a618e7d70438f7 100644 (file)
@@ -442,9 +442,9 @@ int lp55xx_init_device(struct lp55xx_chip *chip)
                gpiod_direction_output(pdata->enable_gpiod, 0);
 
                gpiod_set_consumer_name(pdata->enable_gpiod, "LP55xx enable");
-               gpiod_set_value(pdata->enable_gpiod, 0);
+               gpiod_set_value_cansleep(pdata->enable_gpiod, 0);
                usleep_range(1000, 2000); /* Keep enable down at least 1ms */
-               gpiod_set_value(pdata->enable_gpiod, 1);
+               gpiod_set_value_cansleep(pdata->enable_gpiod, 1);
                usleep_range(1000, 2000); /* 500us abs min. */
        }