Re: [PATCH v2 3/3] power: gpio-charger: do not use gpio value directly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Heiko,

On Sun, Sep 21, 2014 at 1:05 PM, Heiko Stuebner <heiko@xxxxxxxxx> wrote:
> From: Heiko Stuebner <heiko.stuebner@xxxxxx>
>
> 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@xxxxxx>
> ---
>  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...
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux