Re: [PATCH v4 0/4] Migrate IDIO-16 GPIO drivers to regmap API

From: William Breathitt Gray
Date: Mon Apr 03 2023 - 14:06:52 EST


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