In a similar vein as the Intel 8255 interface library module [0], the ACCES IDIO-16 GPIO library module is introduced to consolidate much of the shared code between the existing 104-IDIO-16 and PCI-IDIO-16 GPIO drivers. The idio-16 module exposes consumer library functions to facilitate communication with devices within the ACCES IDIO-16 family such as the 104-IDIO-16 and the PCI-IDIO-16. A CONFIG_GPIO_IDIO_16 Kconfig option is introduced by this patch. Modules wanting access to these idio-16 library functions should select this Kconfig option and import the IDIO_16 symbol namespace. [0] https://lore.kernel.org/all/d1a24895f2ea67f689c24c34a20ddb43cd7246af.1658324498.git.william.gray@xxxxxxxxxx/ William Breathitt Gray (3): gpio: idio-16: Introduce the ACCES IDIO-16 GPIO library module gpio: 104-idio-16: Utilize the idio-16 GPIO library gpio: pci-idio-16: Utilize the idio-16 GPIO library MAINTAINERS | 6 ++ drivers/gpio/Kconfig | 11 +++ drivers/gpio/Makefile | 1 + drivers/gpio/gpio-104-idio-16.c | 91 +++++------------- drivers/gpio/gpio-idio-16.c | 159 ++++++++++++++++++++++++++++++++ drivers/gpio/gpio-idio-16.h | 70 ++++++++++++++ drivers/gpio/gpio-pci-idio-16.c | 119 +++--------------------- 7 files changed, 281 insertions(+), 176 deletions(-) create mode 100644 drivers/gpio/gpio-idio-16.c create mode 100644 drivers/gpio/gpio-idio-16.h base-commit: 3af20d2723be5f70e1ce818504a4c093a81b21f5 -- 2.37.2