Clean the PCA953x driver up, convert to regmap and add suspend/resume support.
Marek Vasut (14):
gpio: pca953x: Deduplicate the bank_shift
gpio: pca953x: Fix AI overflow on PCAL6524
gpio: pca953x: Repair multi-byte IO address increment on PCA9575
gpio: pca953x: Unify pca95{3,7}x_write_regs_16()
gpio: pca953x: Unify pca953x_{read,write}_regs_{16,24}()
gpio: pca953x: Unify pca953x_{read,write}_regs_{8,mul}()
gpio: pca953x: Factor out common code from device_pca95xx_init()
gpio: pca953x: Zap ad-hoc I2C block write in multi GPIO set
gpio: pca953x: Extract the register address mangling to single
function
gpio: pca953x: Perform basic regmap conversion
gpio: pca953x: Zap ad-hoc reg_direction cache
gpio: pca953x: Zap ad-hoc reg_output cache
gpio: pca953x: Zap single use of pca953x_read_single()
gpio: pca953x: Restore registers after suspend/resume cycle
drivers/gpio/Kconfig | 1 +
drivers/gpio/gpio-pca953x.c | 484 ++++++++++++++++++++++--------------
2 files changed, 303 insertions(+), 182 deletions(-)
V2: Minor fixes in 01,02,14/14
V3: The only change is in 10/14, where we select REGMAP_I2C in Kconfig,
since the driver uses regmap now
Cc: Linus Walleij <[email protected]>
Cc: Bartosz Golaszewski <[email protected]>
--
2.18.0