diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2023-01-03 15:12:51 +0200 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2023-01-30 08:03:39 +0000 |
commit | 99cade83477852e4785524a6914e8a534f6d89b0 (patch) | |
tree | 85f4365bd882a08ab44ce4d41c65752a551c4aed /drivers/leds | |
parent | e41ff817670edc5a71001352c9cbfdce43aa3bc4 (diff) | |
download | lwn-99cade83477852e4785524a6914e8a534f6d89b0.tar.gz lwn-99cade83477852e4785524a6914e8a534f6d89b0.zip |
leds: mt6323: 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>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20230103131256.33894-7-andriy.shevchenko@linux.intel.com
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/leds-mt6323.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/leds/leds-mt6323.c b/drivers/leds/leds-mt6323.c index f59e0e8bda8b..17ee88043f52 100644 --- a/drivers/leds/leds-mt6323.c +++ b/drivers/leds/leds-mt6323.c @@ -339,23 +339,23 @@ static int mt6323_led_set_dt_default(struct led_classdev *cdev, struct device_node *np) { struct mt6323_led *led = container_of(cdev, struct mt6323_led, cdev); - const char *state; + enum led_default_state state; int ret = 0; - state = of_get_property(np, "default-state", NULL); - if (state) { - if (!strcmp(state, "keep")) { - ret = mt6323_get_led_hw_brightness(cdev); - if (ret < 0) - return ret; - led->current_brightness = ret; - ret = 0; - } else if (!strcmp(state, "on")) { - ret = - mt6323_led_set_brightness(cdev, cdev->max_brightness); - } else { - ret = mt6323_led_set_brightness(cdev, LED_OFF); - } + state = led_init_default_state_get(of_fwnode_handle(np)); + switch (state) { + case LEDS_DEFSTATE_ON: + ret = mt6323_led_set_brightness(cdev, cdev->max_brightness); + break; + case LEDS_DEFSTATE_KEEP: + ret = mt6323_get_led_hw_brightness(cdev); + if (ret < 0) + return ret; + led->current_brightness = ret; + ret = 0; + break; + default: + ret = mt6323_led_set_brightness(cdev, LED_OFF); } return ret; |