Revert "gpio: revert get() to non-errorprogating behaviour"
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 21 Dec 2015 22:10:12 +0000 (23:10 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Sat, 26 Dec 2015 21:28:42 +0000 (22:28 +0100)
This reverts commit 45ad7db90b42555c8107f18ec6d6a1e9bce34860.

We have fixed all the drivers that were returning ambious values
not clamped to [0,1] or an error code, so return the error
propagating behaviour of the API.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c

index d72ac1f..975a548 100644 (file)
@@ -1303,13 +1303,7 @@ static int _gpiod_get_raw_value(const struct gpio_desc *desc)
        chip = desc->chip;
        offset = gpio_chip_hwgpio(desc);
        value = chip->get ? chip->get(chip, offset) : -EIO;
-       /*
-        * FIXME: fix all drivers to clamp to [0,1] or return negative,
-        * then change this to:
-        * value = value < 0 ? value : !!value;
-        * so we can properly propagate error codes.
-        */
-       value = !!value;
+       value = value < 0 ? value : !!value;
        trace_gpio_value(desc_to_gpio(desc), 1, value);
        return value;
 }