summaryrefslogtreecommitdiffstats
path: root/drivers/leds/leds-pwm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/leds/leds-pwm.c')
-rw-r--r--drivers/leds/leds-pwm.c5
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++;