Messages in this thread | | | Date | Mon, 22 Sep 2014 09:50:55 -0700 | Subject | Re: [PATCH v2 3/3] power: gpio-charger: do not use gpio value directly | From | Doug Anderson <> |
| |
Heiko,
On Sun, Sep 21, 2014 at 1:05 PM, Heiko Stuebner <heiko@sntech.de> wrote: > From: Heiko Stuebner <heiko.stuebner@bq.com> > > Some gpio implementations return interesting values for gpio_get_value when > the value is not 0 - as seen on a imx6sl board. Therefore do not use the > value returned from gpio_get_value directly but simply check for 0 or not 0. > > Signed-off-by: Heiko Stuebner <heiko.stuebner@bq.com> > --- > drivers/power/gpio-charger.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/power/gpio-charger.c b/drivers/power/gpio-charger.c > index 5fe6879..ce99a29 100644 > --- a/drivers/power/gpio-charger.c > +++ b/drivers/power/gpio-charger.c > @@ -57,7 +57,7 @@ static int gpio_charger_get_property(struct power_supply *psy, > > switch (psp) { > case POWER_SUPPLY_PROP_ONLINE: > - val->intval = gpio_get_value_cansleep(pdata->gpio); > + val->intval = gpio_get_value_cansleep(pdata->gpio) ? 1 : 0;
There is a common practice about using "!!" for this. AKA: "val->intval = !!gpio_get_value_cansleep(pdata->gpio);".
> val->intval ^= pdata->gpio_active_low;
It seems like while you're at it you could also fix "pdata->gpio_active_low" to have the "!!", just to be safe.
...if you don't fix this, perhaps you should fix your last patch to add a "!!", like:
pdata->gpio_active_low = !!(flags & OF_GPIO_ACTIVE_LOW);
...technically OF_GPIO_ACTIVE_LOW is 0x1 so it's not a bug, but...
| |