Messages in this thread Patch in this message | | | Date | Thu, 30 Oct 2008 11:05:00 +0000 | From | Jonathan Cameron <> | Subject | [LED bug fix] leds-da903x (da9030 only) led brightness reversed. |
| |
The brightness control register calculation (for the pwm) is effectively the reverse of what would be expected. 1 is maximum brightness, 255 minimum.
This patch inverts this.
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
--- diff --git a/drivers/leds/leds-da903x.c b/drivers/leds/leds-da903x.c index f1fddb1..ab632e9 100644 --- a/drivers/leds/leds-da903x.c +++ b/drivers/leds/leds-da903x.c @@ -57,7 +57,7 @@ static void da903x_led_work(struct work_struct *work) offset = DA9030_LED_OFFSET(led->id); val = led->flags & ~0x87; val |= (led->new_brightness) ? 0x80 : 0; /* EN bit */ - val |= (led->new_brightness >> 5) & 0x7; /* PWM<2:0> */ + val |= (0x7 - (led->new_brightness >> 5)) & 0x7; /* PWM<2:0> */ da903x_write(led->master, DA9030_LED1_CONTROL + offset, val); break; case DA9030_ID_VIBRA:
| |