On Thu, Mar 27, 2014 at 8:09 AM, Michael Heimpold <[email protected]> wrote:
> According to Documentation/gpio/sysfs.txt:
>   ...
>   "value" ... reads as either 0 (low) or 1 (high).
>
> Since some gpio implementations return non-zero if GPIO is set
> but not 1, filter the return value to fit the documentation.
>
> Signed-off-by: Michael Heimpold <[email protected]>
> ---
>  drivers/gpio/gpiolib.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> index 50c4922..45aa695 100644
> --- a/drivers/gpio/gpiolib.c
> +++ b/drivers/gpio/gpiolib.c
> @@ -376,7 +376,7 @@ static ssize_t gpio_value_show(struct device *dev,
>         if (!test_bit(FLAG_EXPORT, &desc->flags))
>                 status = -EIO;
>         else
> -               status = sprintf(buf, "%d\n", gpiod_get_value_cansleep(desc));
> +               status = sprintf(buf, "%d\n", 
> !!gpiod_get_value_cansleep(desc));

Patch 23600969ff137cf4c3bc9098f77e381de334e3f7 ("gpio: clamp returned
values to the boolean range") in -next already takes care of this at a
lower level, so I don't expect this to be needed?

Cheers,
Alex.
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to