ARM: scoop: Be sure to clamp return value
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 22 Dec 2015 14:35:47 +0000 (15:35 +0100)
committerOlof Johansson <olof@lixom.net>
Tue, 22 Dec 2015 22:57:21 +0000 (14:57 -0800)
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: arm@kernel.org
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/common/scoop.c

index 45f4c21e393c1992bfdcc980e859fe081968dffd..e0df333202b81d8fea565353e391c3c043e12fc0 100644 (file)
@@ -84,7 +84,7 @@ static int scoop_gpio_get(struct gpio_chip *chip, unsigned offset)
        struct scoop_dev *sdev = container_of(chip, struct scoop_dev, gpio);
 
        /* XXX: I'm unsure, but it seems so */
-       return ioread16(sdev->base + SCOOP_GPRR) & (1 << (offset + 1));
+       return !!(ioread16(sdev->base + SCOOP_GPRR) & (1 << (offset + 1)));
 }
 
 static int scoop_gpio_direction_input(struct gpio_chip *chip,