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

Reply via email to