Messages in this thread | | | From | Bryan Wu <> | Date | Tue, 7 Aug 2012 10:07:27 +0800 | Subject | Re: [PATCH RFT] leds: lp8788: Fix updating scale configuration bits |
| |
On Wed, Aug 1, 2012 at 8:40 PM, Axel Lin <axel.lin@gmail.com> wrote: > We need to do left shift (cfg->num + LP8788_ISINK_SCALE_OFFSET) bits for > updating scale configuration. > > Signed-off-by: Axel Lin <axel.lin@gmail.com> > --- > Hi Milo, > Current code of updating scale configuration bits looks wrong to me > because the mask does not match the val. > I don't have this hardware, can you test this patch? >
Milo, I think this patch from Axel is reasonable. could you please take a look at this?
-Bryan
> Thanks, > Axel > drivers/leds/leds-lp8788.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/leds/leds-lp8788.c b/drivers/leds/leds-lp8788.c > index 53bd136..0ade6eb 100644 > --- a/drivers/leds/leds-lp8788.c > +++ b/drivers/leds/leds-lp8788.c > @@ -63,7 +63,7 @@ static int lp8788_led_init_device(struct lp8788_led *led, > /* scale configuration */ > addr = LP8788_ISINK_CTRL; > mask = 1 << (cfg->num + LP8788_ISINK_SCALE_OFFSET); > - val = cfg->scale << cfg->num; > + val = cfg->scale << (cfg->num + LP8788_ISINK_SCALE_OFFSET); > ret = lp8788_update_bits(led->lp, addr, mask, val); > if (ret) > return ret; > -- > 1.7.9.5 > > >
-- Bryan Wu <bryan.wu@canonical.com> Kernel Developer +86.186-168-78255 Mobile Canonical Ltd. www.canonical.com Ubuntu - Linux for human beings | www.ubuntu.com
| |