]> Pileus Git - ~andy/linux/blobdiff - drivers/gpio/gpio-pxa.c
gpio: pxa: clamp gpio get value to [0,1]
[~andy/linux] / drivers / gpio / gpio-pxa.c
index cc13d1b74fad09f06c0d2bd42cc4d41b196df2cf..42e6e64f2120364857d551df2a0de579ce7bec2d 100644 (file)
@@ -263,7 +263,8 @@ static int pxa_gpio_direction_output(struct gpio_chip *chip,
 
 static int pxa_gpio_get(struct gpio_chip *chip, unsigned offset)
 {
-       return readl_relaxed(gpio_chip_base(chip) + GPLR_OFFSET) & (1 << offset);
+       u32 gplr = readl_relaxed(gpio_chip_base(chip) + GPLR_OFFSET);
+       return !!(gplr & (1 << offset));
 }
 
 static void pxa_gpio_set(struct gpio_chip *chip, unsigned offset, int value)