From: Bhupesh Sharma Date: Mon, 27 Feb 2012 05:49:43 +0000 (+0530) Subject: gpio/gpio-stmpe: Fix the value returned by _get_value routine X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7535b8bef067b71070ed5bdcf3606402f1e99618;p=linux-beck.git gpio/gpio-stmpe: Fix the value returned by _get_value routine The present _get_value routine returns the contents of the GPIO Monitor Pin Status Register(GPMR) starting from the bit whose value is requested to BIT 0 (irrelevant bits are replace by 0). For e.g. if we request the value of GPIO 6 in the earlier implementation the value returned is: BIT6 followed by 6 0's whereas it should just return BIT6. This patch addresses the same. Signed-off-by: Bhupesh Sharma Reviewed-by: Viresh Kumar Signed-off-by: Grant Likely --- diff --git a/drivers/gpio/gpio-stmpe.c b/drivers/gpio/gpio-stmpe.c index 87a68a896abf..8abf4e9e2300 100644 --- a/drivers/gpio/gpio-stmpe.c +++ b/drivers/gpio/gpio-stmpe.c @@ -54,7 +54,7 @@ static int stmpe_gpio_get(struct gpio_chip *chip, unsigned offset) if (ret < 0) return ret; - return ret & mask; + return !!(ret & mask); } static void stmpe_gpio_set(struct gpio_chip *chip, unsigned offset, int val)