diff options
author | Denis Osterland-Heim <Denis.Osterland@diehl.com> | 2021-06-08 08:35:53 +0200 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2021-08-18 08:27:30 +0200 |
commit | 791bc41163c51f870972d6c6b82d971ce951096c (patch) | |
tree | 3b6504b86874ba8c9e1ecf3949728400f4583559 /drivers/leds/leds-gpio.c | |
parent | leds: flash: Remove redundant initialization of variable ret (diff) | |
download | linux-791bc41163c51f870972d6c6b82d971ce951096c.tar.xz linux-791bc41163c51f870972d6c6b82d971ce951096c.zip |
leds: move default_state read from fwnode to core
This patch introduces a new function to read initial
default_state from fwnode.
Suggested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Denis Osterland-Heim <Denis.Osterland@diehl.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Diffstat (limited to 'drivers/leds/leds-gpio.c')
-rw-r--r-- | drivers/leds/leds-gpio.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c index b5d5e22d2d1e..092eb59a7d32 100644 --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c @@ -16,6 +16,7 @@ #include <linux/platform_device.h> #include <linux/property.h> #include <linux/slab.h> +#include "leds.h" struct gpio_led_data { struct led_classdev cdev; @@ -144,7 +145,6 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) device_for_each_child_node(dev, child) { struct gpio_led_data *led_dat = &priv->leds[priv->num_leds]; struct gpio_led led = {}; - const char *state = NULL; /* * Acquire gpiod from DT with uninitialized label, which @@ -161,15 +161,7 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) led_dat->gpiod = led.gpiod; - if (!fwnode_property_read_string(child, "default-state", - &state)) { - if (!strcmp(state, "keep")) - led.default_state = LEDS_GPIO_DEFSTATE_KEEP; - else if (!strcmp(state, "on")) - led.default_state = LEDS_GPIO_DEFSTATE_ON; - else - led.default_state = LEDS_GPIO_DEFSTATE_OFF; - } + led.default_state = led_init_default_state_get(child); if (fwnode_property_present(child, "retain-state-suspended")) led.retain_state_suspended = 1; |