mbox series

[v3,0/4] Migrate IDIO-16 GPIO drivers to regmap API

Message ID cover.1679693714.git.william.gray@linaro.org
Headers show
Series Migrate IDIO-16 GPIO drivers to regmap API | expand


William Breathitt Gray March 24, 2023, 9:45 p.m. UTC
Changes in v3:
 - Refactor for map parameter removal from handle_mask_sync(); e.g.
   declare struct idio_16_data and utilize for irq_drv_data, inline
   data->map in idio_16_handle_mask_sync(), etc
 - Cleanups and line wrapping to 100 characters rather than 80
 - Change dev_err_probe() to dev_err(); devm_idio_16_regmap_register()
   is technically not a probe() callback
 - Remove volatile regmap configuration structures; the existing read
   regmap table can be used to configure the volatile regmap table

The regmap API supports IO port accessors so we can take advantage of
regmap abstractions rather than handling access to the device registers
directly in the driver. The 104-idio-16 and pci-idio-16 modules depend
on the IDIO-16 library and are thus updated accordingly.

By leveraging the regmap API, the idio-16 library is reduced to simply a
devm_idio_16_regmap_register() function and a configuration structure
struct idio_16_regmap_config.

This patchset depends on the "Drop map from handle_mask_sync()
parameters" patchset [0].

[0] https://lore.kernel.org/all/cover.1679323449.git.william.gray@linaro.org/

William Breathitt Gray (4):
  gpio: idio-16: Migrate to the regmap API
  gpio: 104-idio-16: Migrate to the regmap API
  gpio: pci-idio-16: Migrate to the regmap API
  gpio: idio-16: Remove unused legacy interface

 drivers/gpio/Kconfig            |   7 +-
 drivers/gpio/gpio-104-idio-16.c | 286 +++++++------------------------
 drivers/gpio/gpio-idio-16.c     | 257 ++++++++++++++++------------
 drivers/gpio/gpio-idio-16.h     |  79 +++------
 drivers/gpio/gpio-pci-idio-16.c | 294 +++++++-------------------------
 5 files changed, 293 insertions(+), 630 deletions(-)

base-commit: 2093bcd872321a5301470978231b23cc121e3476
prerequisite-patch-id: cd19046150b7cff1be4ac7152198777aa960a3df
prerequisite-patch-id: bd3e3830d9ce4f3876a77483364d7190b7fdffa7