linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] gpio: Implement and utilize register structures for ISA drivers
@ 2022-07-19 13:47 William Breathitt Gray
  2022-07-19 13:47 ` [PATCH v4 1/6] gpio: ws16c48: Implement and utilize register structures William Breathitt Gray
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: William Breathitt Gray @ 2022-07-19 13:47 UTC (permalink / raw)
  To: linus.walleij, brgl
  Cc: linux-gpio, linux-kernel, William Breathitt Gray, John Hentges,
	Jay Dolan, Fred Eckert, Paul Demetrotion, techsupport,
	Andy Shevchenko

Changes in v4:
 - Cleanup superfluous header includes from drivers
 - Add note to CONFIG_GPIO_I8255 Kconfig that if built as a module the
   name will be 'gpio-i8255'
 - Remove 'const' from '__iomem' pointers
 - Replace ambiguous 'group' terminology with more understandable 'bank'
 - Use more natural '>= 4' expression to represent upper nibble
 - Refactor i8255_set_port() to take more common pattern of mask and
   bits

The PC104/ISA drivers were updated to use I/O memory accessor calls such
as ioread8()/iowrite8() in a previous patch series [0]. This
patchset is a continuation of the effort to improve the code readability
and reduce magic numbers by implementing and utilizing named register
data structures.

One of the benefits is that we can now observe more easily similarities
in devices that share similar interfaces; such as the i8255 interfaces
used by the 104-DIO-48E, 104-IDI-48, and GPIO-MM drivers -- as well as
the similar interface used by the 104-IDIO-16 and PCI-IDIO-16 drivers.

A new module supporting the Intel 8255 interface is introduced to
consolidate the common code found among the 104-DIO-48E, 104-IDI-48, and
GPIO-MM drivers.

[0] https://lore.kernel.org/all/cover.1652201921.git.william.gray@linaro.org/

William Breathitt Gray (6):
  gpio: ws16c48: Implement and utilize register structures
  gpio: 104-idio-16: Implement and utilize register structures
  gpio: i8255: Introduce the Intel 8255 interface library module
  gpio: 104-dio-48e: Implement and utilize register structures
  gpio: 104-idi-48: Implement and utilize register structures
  gpio: gpio-mm: Implement and utilize register structures

 MAINTAINERS                     |   6 +
 drivers/gpio/Kconfig            |  15 ++
 drivers/gpio/Makefile           |   1 +
 drivers/gpio/gpio-104-dio-48e.c | 249 ++++++++-------------------
 drivers/gpio/gpio-104-idi-48.c  | 143 +++++++---------
 drivers/gpio/gpio-104-idio-16.c |  60 +++++--
 drivers/gpio/gpio-gpio-mm.c     | 202 +++++-----------------
 drivers/gpio/gpio-i8255.c       | 287 ++++++++++++++++++++++++++++++++
 drivers/gpio/gpio-i8255.h       |  46 +++++
 drivers/gpio/gpio-ws16c48.c     | 120 +++++++++----
 10 files changed, 654 insertions(+), 475 deletions(-)
 create mode 100644 drivers/gpio/gpio-i8255.c
 create mode 100644 drivers/gpio/gpio-i8255.h


base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56
-- 
2.36.1


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

end of thread, other threads:[~2022-07-20 12:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-19 13:47 [PATCH v4 0/6] gpio: Implement and utilize register structures for ISA drivers William Breathitt Gray
2022-07-19 13:47 ` [PATCH v4 1/6] gpio: ws16c48: Implement and utilize register structures William Breathitt Gray
2022-07-19 13:47 ` [PATCH v4 2/6] gpio: 104-idio-16: " William Breathitt Gray
2022-07-19 13:47 ` [PATCH v4 3/6] gpio: i8255: Introduce the Intel 8255 interface library module William Breathitt Gray
2022-07-19 13:47 ` [PATCH v4 4/6] gpio: 104-dio-48e: Implement and utilize register structures William Breathitt Gray
2022-07-19 13:47 ` [PATCH v4 5/6] gpio: 104-idi-48: " William Breathitt Gray
2022-07-20 12:34   ` Bartosz Golaszewski
2022-07-19 13:47 ` [PATCH v4 6/6] gpio: gpio-mm: " William Breathitt Gray

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).