Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
[firefly-linux-kernel-4.4.55.git] / drivers / leds / leds-pwm.c
index f5cf1b0f274873d9142a008dff9e024b6da3251d..d672bb4480f6c96530be00ebca63b074a3400762 100644 (file)
@@ -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++;