Thread (9 messages) 9 messages, 2 authors, 2014-09-23

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

From: Doug Anderson <dianders@chromium.org>
Date: 2014-09-22 16:50:58
Also in: linux-pm, lkml

Heiko,

On Sun, Sep 21, 2014 at 1:05 PM, Heiko Stuebner [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Heiko Stuebner <redacted>

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 <redacted>
---
 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...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help