diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2024-06-06 20:29:19 +0300 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2024-06-26 16:56:04 +0100 |
commit | 4b268456e0aa287595b3de82da673c2c9178dedb (patch) | |
tree | 220954a24e62f6b3189415b565f67ceadac4cfed | |
parent | 7f9ab862e05c5bc755f65bf6db7edcffb3b49dfc (diff) | |
download | lwn-4b268456e0aa287595b3de82da673c2c9178dedb.tar.gz lwn-4b268456e0aa287595b3de82da673c2c9178dedb.zip |
leds: spi-byte: Get rid of custom led_init_default_state_get()
LED core provides a helper to parse default state from firmware node.
Use it instead of custom implementation.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240606173037.3091598-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Lee Jones <lee@kernel.org>
-rw-r--r-- | drivers/leds/leds-spi-byte.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/leds/leds-spi-byte.c b/drivers/leds/leds-spi-byte.c index b04cf502e603..76733946c99a 100644 --- a/drivers/leds/leds-spi-byte.c +++ b/drivers/leds/leds-spi-byte.c @@ -84,7 +84,7 @@ static int spi_byte_probe(struct spi_device *spi) struct device *dev = &spi->dev; struct spi_byte_led *led; struct led_init_data init_data = {}; - const char *state; + enum led_default_state state; int ret; if (of_get_available_child_count(dev_of_node(dev)) != 1) { @@ -104,17 +104,10 @@ static int spi_byte_probe(struct spi_device *spi) led->ldev.brightness_set_blocking = spi_byte_brightness_set_blocking; child = of_get_next_available_child(dev_of_node(dev), NULL); - state = of_get_property(child, "default-state", NULL); - if (state) { - if (!strcmp(state, "on")) { - led->ldev.brightness = led->ldev.max_brightness; - } else if (strcmp(state, "off")) { - of_node_put(child); - /* all other cases except "off" */ - dev_err(dev, "default-state can only be 'on' or 'off'"); - return -EINVAL; - } - } + + state = led_init_default_state_get(of_fwnode_handle(child)); + if (state == LEDS_DEFSTATE_ON) + led->ldev.brightness = led->ldev.max_brightness; spi_byte_brightness_set_blocking(&led->ldev, led->ldev.brightness); |