gpio: pca953x: fix gpio input on gpio offsets >= 8
A message that is not in the archive (sent off-list or not yet received): [email protected]
Gregory CLEMENT
Reviewed-byQuoted 7 lines · Andrew Ruder
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_valuewasn't adjusted with a modulusBANK_SZand 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
Quoted 21 lines
Signed-off-by Andrew Ruder <[email protected]>---
drivers/gpio/gpio-pca953x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/gpio/gpio-pca953x.c +1
-1@@ -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)
Signature · 4 lines
Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
Quoted 5 lines · Gregory CLEMENT
Good catch. I forgot this one and as on my board I wasn't able to test the input I didn't noticed it.
ThanksReviewed-by Gregory CLEMENT <[email protected]>
Linus,
Any chance you can take this one into your tree?
Thanks,
Andy
Quoted 9 lines · Andrew Ruder
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_valuewasn't adjusted with a modulusBANK_SZand consequently looks at the wrong bits in the input register.Signed-off-by Andrew Ruder <[email protected]>
Patch applied with Gregory's ACK.
Yours,
Linus Walleij