Skip to contentSkip to conversation

gpio: Add GPIO support for the ACCES 104-IDIO-16

PATCH Superseded William Breathitt Gray 1 participant 1 message Oct 6, 2015

Subsystems (2)

v3 of 10 Superseded Latest is v10 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 gpio: Add GPIO support for the ACCES 104-IDIO-16

The ACCES 104-IDIO-16 family of PC/104 utility boards feature 16 optically isolated inputs and 16 optically isolated FET solid state outputs. This driver provides GPIO support for these 32 channels of digital I/O. Change-of-State detection interrupts are not supported.

GPIO 0-15 correspond to digital outputs 0-15, while GPIO 16-31 correspond to digital inputs 0-15.

---
Changes in v3:
- Replace gpio.h include with gpio/driver.h since all needed relevant symbols and resources are within the latter
- Rename struct a_104_idio_16 'data' member to the more apt and descriptive 'out_state'
- Add kerneldoc for struct a_104_idio_16_gpio
- Reorganize function definitions to eliminate need for forward declarations

 drivers/gpio/Kconfig            |  15 ++++
 drivers/gpio/Makefile           |   1 +
 drivers/gpio/gpio-104-idio-16.c | 154 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 170 insertions(+)
 create mode 100644 drivers/gpio/gpio-104-idio-16.c
drivers/gpio/Kconfig +15 -0
index 8949b3f..70b63f1 100644
@@ -684,6 +684,21 @@ config GPIO_SX150X
 
 endmenu
 
+menu "ISA GPIO expanders"
+
+menuconfig GPIO_104_IDIO_16
+	tristate "ACCES 104-IDIO-16 GPIO support"
+	depends on X86
+	help
+	  Enables GPIO support for the ACCES 104-IDIO-16 family.
+
+config 104_IDIO_16_BASE
+	hex "ACCES 104-IDIO-16 base address"
+	depends on GPIO_104_IDIO_16
+	default 0x000
+
+endmenu
+
 menu "MFD GPIO expanders"
 
 config GPIO_ADP5520
drivers/gpio/Makefile +1 -0
index f79a7c4..6f2fea5 100644
@@ -12,6 +12,7 @@ obj-$(CONFIG_GPIO_ACPI)		+= gpiolib-acpi.o
 # Device drivers. Generally keep list sorted alphabetically
 obj-$(CONFIG_GPIO_GENERIC)	+= gpio-generic.o
 
+obj-$(CONFIG_GPIO_104_IDIO_16)	+= gpio-104-idio-16.o
 obj-$(CONFIG_GPIO_74X164)	+= gpio-74x164.o
 obj-$(CONFIG_GPIO_74XX_MMIO)	+= gpio-74xx-mmio.o
 obj-$(CONFIG_GPIO_ADNP)		+= gpio-adnp.o
drivers/gpio/gpio-104-idio-16.c new file +154 -0

154 lines not on this page · raw message

Signature · 1 line
2.4.9