The explicit call to led_pwm_set() prevents that the led's state can stay as configured by the bootloader. Note that brightness is always 0 here as the led_pwm driver doesn't provide a .brightness_get() callback and so the LED was disabled unconditionally. Signed-off-by: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> --- drivers/leds/leds-pwm.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c index 9111cdede0ee..de74e1c8d234 100644 --- a/drivers/leds/leds-pwm.c +++ b/drivers/leds/leds-pwm.c @@ -83,13 +83,11 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv, led_data->pwmstate.period = led->pwm_period_ns; ret = devm_led_classdev_register(dev, &led_data->cdev); - if (ret == 0) { + if (ret == 0) priv->num_leds++; - led_pwm_set(&led_data->cdev, led_data->cdev.brightness); - } else { + else dev_err(dev, "failed to register PWM led for %s: %d\n", led->name, ret); - } return ret; } -- 2.24.0