[PATCH 0/6] Migrate IDIO-16 GPIO drivers to regmap API

William Breathitt Gray
2023-02-17T16:49:44Z

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.

The 104-IDIO-16 lacks a status register (as does the 104-DIO-48E), so a
no_status flag is introduced to the regmap-irq API to properly handle
such cases and avoid hacks. The 104-dio-48e module is updated in a
subsequent patch to take advantage of this new no_status flag.

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.

William Breathitt Gray (6):
regmap-irq: Add no_status support
gpio: 104-dio-48e: Utilize no_status regmap-irq flag
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/base/regmap/regmap-irq.c | 23 ++-
drivers/gpio/Kconfig | 7 +-
drivers/gpio/gpio-104-dio-48e.c | 6 +-
drivers/gpio/gpio-104-idio-16.c | 294 ++++++++----------------------
drivers/gpio/gpio-idio-16.c | 255 ++++++++++++++------------
drivers/gpio/gpio-idio-16.h | 80 +++------
drivers/gpio/gpio-pci-idio-16.c | 295 +++++++------------------------
include/linux/regmap.h | 2 +
8 files changed, 326 insertions(+), 636 deletions(-)

base-commit: 4827aae061337251bb91801b316157a78b845ec7
--
2.39.1