On Fri, Mar 31, 2023 at 05:05:22PM -0400, William Breathitt Gray wrote: > 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 The 104-idio-16 and pci-idio-16 drivers here likely need use_raw_spinlock enabled for their respective regmap_config structures to prevent deadlocks as described in the i8255 fixes patchset [0]. I'll submit a v5 of this patchset to fix that. [0] https://lore.kernel.org/all/cover.1680543810.git.william.gray@xxxxxxxxxx/
Attachment:
signature.asc
Description: PGP signature