gpio: pca953x: use the correct range when do regmap sync
authorHaibo Chen <haibo.chen@nxp.com>
Mon, 18 Jul 2022 08:31:42 +0000 (16:31 +0800)
committerBartosz Golaszewski <brgl@bgdev.pl>
Tue, 19 Jul 2022 09:19:16 +0000 (11:19 +0200)
commit2abc17a93867dc816f0ed9d32021dda8078e7330
tree612b4e4f94c4bff67e4ad1b23326c8d3a1d491a0
parentdb8edaa09d7461ec08672a92a2eef63d5882bb79
gpio: pca953x: use the correct range when do regmap sync

regmap will sync a range of registers, here use the correct range
to make sure the sync do not touch other unexpected registers.

Find on pca9557pw on imx8qxp/dxl evk board, this device support
8 pin, so only need one register(8 bits) to cover all the 8 pins's
property setting. But when sync the output, we find it actually
update two registers, output register and the following register.

Fixes: b76574300504 ("gpio: pca953x: Restore registers after suspend/resume cycle")
Fixes: ec82d1eba346 ("gpio: pca953x: Zap ad-hoc reg_output cache")
Fixes: 0f25fda840a9 ("gpio: pca953x: Zap ad-hoc reg_direction cache")
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpio-pca953x.c