]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
pwm-backlight: retrieve configured PWM period
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Mon, 19 May 2014 20:42:42 +0000 (22:42 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Wed, 21 May 2014 09:19:45 +0000 (11:19 +0200)
The PWM core is now able to initialize the PWM period from a lookup
table defined by board files. Use it if available and fallback to the
value supplied in pwm_period_ns.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/video/backlight/pwm_bl.c

index cc49347bbcc0766019fd077f776b2dd19f8d6d49..38ca88bc5c3ed0c199e73b8a533ac43448506bfb 100644 (file)
@@ -296,12 +296,15 @@ static int pwm_backlight_probe(struct platform_device *pdev)
        /*
         * The DT case will set the pwm_period_ns field to 0 and store the
         * period, parsed from the DT, in the PWM device. For the non-DT case,
-        * set the period from platform data.
+        * set the period from platform data if it has not already been set
+        * via the PWM lookup table.
         */
-       if (data->pwm_period_ns > 0)
+       pb->period = pwm_get_period(pb->pwm);
+       if (!pb->period && (data->pwm_period_ns > 0)) {
+               pb->period = data->pwm_period_ns;
                pwm_set_period(pb->pwm, data->pwm_period_ns);
+       }
 
-       pb->period = pwm_get_period(pb->pwm);
        pb->lth_brightness = data->lth_brightness * (pb->period / pb->scale);
 
        memset(&props, 0, sizeof(struct backlight_properties));