diff options
Diffstat (limited to 'drivers/leds/leds-pwm.c')
-rw-r--r-- | drivers/leds/leds-pwm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c index f5cf1b0f2748..d672bb4480f6 100644 --- a/drivers/leds/leds-pwm.c +++ b/drivers/leds/leds-pwm.c @@ -103,7 +103,6 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv, int ret; led_data->active_low = led->active_low; - led_data->period = led->pwm_period_ns; led_data->cdev.name = led->name; led_data->cdev.default_trigger = led->default_trigger; led_data->cdev.brightness_set = led_pwm_set; @@ -129,6 +128,10 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv, if (led_data->can_sleep) INIT_WORK(&led_data->work, led_pwm_work); + led_data->period = pwm_get_period(led_data->pwm); + if (!led_data->period && (led->pwm_period_ns > 0)) + led_data->period = led->pwm_period_ns; + ret = led_classdev_register(dev, &led_data->cdev); if (ret == 0) { priv->num_leds++; |