2008-10-30 11:05:10

by Jonathan Cameron

[permalink] [raw]
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 <[email protected]>

---
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:


2008-10-30 12:49:50

by Mike Rapoport

[permalink] [raw]
Subject: Re: [LED bug fix] leds-da903x (da9030 only) led brightness reversed.



Jonathan Cameron wrote:
> 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 <[email protected]>

Acked-by: Mike Rapoport <[email protected]>

> ---
> 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:
>

--
Sincerely yours,
Mike.

2008-10-30 14:01:39

by Eric Miao

[permalink] [raw]
Subject: Re: [LED bug fix] leds-da903x (da9030 only) led brightness reversed.

On Thu, Oct 30, 2008 at 7:53 PM, Mike Rapoport <[email protected]> wrote:
>
>
> Jonathan Cameron wrote:
>> 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 <[email protected]>
>
> Acked-by: Mike Rapoport <[email protected]>
>

OK, queued.

Richard, I'm taking this patch along with some of my other
fixes to be pushed out tonight, thanks.