Changes in v4: - Remove superfluous base check in idio_16_reg_mask_xlate() - Format idio_16_names[] to 8 GPIO per line - Utilize dev_err_probe() in idio_16_regmap_register() 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@xxxxxxxxxx/ 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 | 254 ++++++++++++++------------- drivers/gpio/gpio-idio-16.h | 79 +++------ drivers/gpio/gpio-pci-idio-16.c | 294 +++++++------------------------- 5 files changed, 289 insertions(+), 631 deletions(-) base-commit: 4ea0c97776bf8c63805eb0f8182d9c20072219d9 prerequisite-patch-id: cd19046150b7cff1be4ac7152198777aa960a3df prerequisite-patch-id: bd3e3830d9ce4f3876a77483364d7190b7fdffa7 -- 2.39.2