linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Migrate IDIO-16 GPIO drivers to regmap API
@ 2023-02-27 16:45 William Breathitt Gray
  2023-02-27 16:45 ` [PATCH v2 1/6] regmap-irq: Add no_status support William Breathitt Gray
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: William Breathitt Gray @ 2023-02-27 16:45 UTC (permalink / raw)
  To: linus.walleij, brgl
  Cc: broonie, andriy.shevchenko, linux-gpio, linux-kernel,
	William Breathitt Gray

Changes in v2:
 - Utilize memset32() to set status_buf for no_status case
 - Utilize GENMASK() to generate status_buf mask
 - Move no_status kernel doc line under runtime_pm line
 - Add comma to end of idio_16_names initialization list
 - Set io_port to true in idio_16_regmap_config

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 |  22 ++-
 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  | 296 +++++++------------------------
 include/linux/regmap.h           |   2 +
 8 files changed, 326 insertions(+), 636 deletions(-)


base-commit: 4827aae061337251bb91801b316157a78b845ec7
-- 
2.39.2


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-03-22 16:37 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-27 16:45 [PATCH v2 0/6] Migrate IDIO-16 GPIO drivers to regmap API William Breathitt Gray
2023-02-27 16:45 ` [PATCH v2 1/6] regmap-irq: Add no_status support William Breathitt Gray
2023-03-06 10:11   ` Bartosz Golaszewski
2023-03-10 12:01     ` William Breathitt Gray
2023-03-15 13:28   ` Mark Brown
2023-02-27 16:45 ` [PATCH v2 2/6] gpio: 104-dio-48e: Utilize no_status regmap-irq flag William Breathitt Gray
2023-02-27 16:45 ` [PATCH v2 3/6] gpio: idio-16: Migrate to the regmap API William Breathitt Gray
2023-02-27 16:45 ` [PATCH v2 4/6] gpio: 104-idio-16: " William Breathitt Gray
2023-02-27 16:45 ` [PATCH v2 5/6] gpio: pci-idio-16: " William Breathitt Gray
2023-03-22 16:37   ` Bartosz Golaszewski
2023-02-27 16:45 ` [PATCH v2 6/6] gpio: idio-16: Remove unused legacy interface William Breathitt Gray
2023-03-06 14:09 ` (subset) [PATCH v2 0/6] Migrate IDIO-16 GPIO drivers to regmap API Mark Brown
2023-03-06 14:12 ` Linus Walleij
2023-03-15 10:02   ` Bartosz Golaszewski
2023-03-15 10:14     ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).