On 07/08/2013 23:52, Andrew Ruder wrote: > This change fixes a regression introduced by commit > f5f0b7aa8 (gpio: pca953x: make the register access by GPIO bank) > > When the pca953x driver was converted to using 8-bit reads/writes > the bitmask in pca953x_gpio_get_value wasn't adjusted with a > modulus BANK_SZ and consequently looks at the wrong bits in the > input register.
Good catch. I forgot this one and as on my board I wasn't able to test the input I didn't noticed it. Thanks Reviewed-by: Gregory CLEMENT <[email protected]> > > Signed-off-by: Andrew Ruder <[email protected]> > --- > > drivers/gpio/gpio-pca953x.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c > index 426c51d..1a7ab13 100644 > --- a/drivers/gpio/gpio-pca953x.c > +++ b/drivers/gpio/gpio-pca953x.c > @@ -308,7 +308,7 @@ static int pca953x_gpio_get_value(struct gpio_chip *gc, > unsigned off) > return 0; > } > > - return (reg_val & (1u << off)) ? 1 : 0; > + return (reg_val & (1u << (off % BANK_SZ))) ? 1 : 0; > } > > static void pca953x_gpio_set_value(struct gpio_chip *gc, unsigned off, int > val) > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- 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
