gpio/gpio-stmpe: Fix the value returned by _get_value routine
authorBhupesh Sharma <bhupesh.sharma@st.com>
Mon, 27 Feb 2012 05:49:43 +0000 (11:19 +0530)
committerGrant Likely <grant.likely@secretlab.ca>
Mon, 12 Mar 2012 17:36:38 +0000 (11:36 -0600)
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 <bhupesh.sharma@st.com>
Reviewed-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/gpio/gpio-stmpe.c

index 87a68a896abf7a0a010aa6395db5b0a53ba9ba41..8abf4e9e23009f7decd5d3fe107fd8d1307b2111 100644 (file)
@@ -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)