From 3ffe63d7e65a88596d3783d4b9ee504ae5a769cd Mon Sep 17 00:00:00 2001 From: Alexandre Courbot Date: Mon, 9 Jul 2012 15:04:23 +0900 Subject: [PATCH] --- yaml --- r: 319225 b: refs/heads/master c: 9fb978b12f9cc2b4df428764273d96877d0a262d h: refs/heads/master i: 319223: 1be0dd83dd2350b20006722077b4ef6ece9ff496 v: v3 --- [refs] | 2 +- trunk/drivers/video/backlight/pwm_bl.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 666297e67f5b..c72338895533 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2437b0d95c609365ce88039b96a1c020af71c6dc +refs/heads/master: 9fb978b12f9cc2b4df428764273d96877d0a262d diff --git a/trunk/drivers/video/backlight/pwm_bl.c b/trunk/drivers/video/backlight/pwm_bl.c index 057389d69a51..995f0164c9b0 100644 --- a/trunk/drivers/video/backlight/pwm_bl.c +++ b/trunk/drivers/video/backlight/pwm_bl.c @@ -54,14 +54,18 @@ static int pwm_backlight_update_status(struct backlight_device *bl) pwm_config(pb->pwm, 0, pb->period); pwm_disable(pb->pwm); } else { + int duty_cycle; + if (pb->levels) { - brightness = pb->levels[brightness]; + duty_cycle = pb->levels[brightness]; max = pb->levels[max]; + } else { + duty_cycle = brightness; } - brightness = pb->lth_brightness + - (brightness * (pb->period - pb->lth_brightness) / max); - pwm_config(pb->pwm, brightness, pb->period); + duty_cycle = pb->lth_brightness + + (duty_cycle * (pb->period - pb->lth_brightness) / max); + pwm_config(pb->pwm, duty_cycle, pb->period); pwm_enable(pb->pwm); }