powerpc: simple_gpio: Be sure to clamp return value
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 21 Dec 2015 21:44:02 +0000 (22:44 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 25 Jan 2016 17:02:26 +0000 (18:02 +0100)
As we want gpio_chip .get() calls to be able to return negative
error codes and propagate to drivers, we need to go over all
drivers and make sure their return values are clamped to [0,1].
We do this by using the ret = !!(val) design pattern.

Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/powerpc/sysdev/simple_gpio.c

index ff5e73230a365933bb826bd36a20c8506d88026d..56ce8ca3281b4f6112fcfcd706ebacf659718b5d 100644 (file)
@@ -46,7 +46,7 @@ static int u8_gpio_get(struct gpio_chip *gc, unsigned int gpio)
 {
        struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
 
-       return in_8(mm_gc->regs) & u8_pin2mask(gpio);
+       return !!(in_8(mm_gc->regs) & u8_pin2mask(gpio));
 }
 
 static void u8_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)