'brightness' is usually an index into a table of duty_cycle values,
where the value at index 0 may well be non-zero
(tegra30-apalis-eval.dts and tegra30-colibri-eval-v3.dts are real-life
examples).
Thus brightness = 0 does not necessarily mean that the PWM output
will be inactive.
Check for 'duty_cycle = 0' rather than 'brightness = 0' to decide
whether to disable the PWM.
Signed-off-by: Lothar Waßmann <redacted>
---
drivers/video/backlight/pwm_bl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index b2b366b..80b2b52 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -103,8 +103,8 @@ static int pwm_backlight_update_status(struct backlight_device *bl)
if (pb->notify)
brightness = pb->notify(pb->dev, brightness);
- if (brightness > 0) {
- duty_cycle = compute_duty_cycle(pb, brightness);
+ duty_cycle = compute_duty_cycle(pb, brightness);
+ if (duty_cycle > 0) {
pwm_config(pb->pwm, duty_cycle, pb->period);
pwm_backlight_power_on(pb, brightness);
} else--
2.1.4