Changes in v2: - Implement support for the Intel 8255 interface as a new gpio-i8255 module; common code among gpio-104-dio-48e, gpio-104-idi-48, and gpio-gpio-mm are consolidated in the gpio-i8255 module - Refactor the gpio-104-dio-48e, gpio-104-idi-48, and gpio-gpio-mm to utilize the new gpio-i8255 functions; this greatly simplifies the changes for these drivers The PC104/ISA drivers were updated to use I/O memory accessor calls such as ioread8()/iowrite8() in a previous patch series [1]. 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. [1] https://lore.kernel.org/all/cover.1652201921.git.william.gray@xxxxxxxxxx/ William Breathitt Gray (6): gpio: i8255: Introduce the i8255 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 gpio: 104-idio-16: Implement and utilize register structures gpio: ws16c48: Implement and utilize register structures MAINTAINERS | 6 + drivers/gpio/Kconfig | 6 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-104-dio-48e.c | 224 +++++++++------------------- drivers/gpio/gpio-104-idi-48.c | 123 +++++++--------- drivers/gpio/gpio-104-idio-16.c | 58 +++++--- drivers/gpio/gpio-gpio-mm.c | 177 +++++------------------ drivers/gpio/gpio-i8255.c | 249 ++++++++++++++++++++++++++++++++ drivers/gpio/gpio-ws16c48.c | 119 ++++++++++----- include/linux/gpio/i8255.h | 34 +++++ 10 files changed, 575 insertions(+), 422 deletions(-) create mode 100644 drivers/gpio/gpio-i8255.c create mode 100644 include/linux/gpio/i8255.h base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56 -- 2.36.1