[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1677515341.git.william.gray@linaro.org>
Date: Mon, 27 Feb 2023 11:45:21 -0500
From: William Breathitt Gray <william.gray@...aro.org>
To: linus.walleij@...aro.org, brgl@...ev.pl
Cc: broonie@...nel.org, andriy.shevchenko@...ux.intel.com,
linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org,
William Breathitt Gray <william.gray@...aro.org>
Subject: [PATCH v2 0/6] Migrate IDIO-16 GPIO drivers to regmap API
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
Powered by blists - more mailing lists