aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/Kconfig
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2012-09-18 04:57:10 -0400
committerLinus Walleij <linus.walleij@linaro.org>2012-09-18 17:27:25 -0400
commit5e969a401a0126806cc2a358800b5b52d6c0a246 (patch)
treebf1abac453b63d37222331cb414e2a783ae9887b /drivers/gpio/Kconfig
parentd724f1c9c3c7dee420b8d778ee53207ef3c17120 (diff)
gpio: Add Avionic Design N-bit GPIO expander support
This commit adds a driver for the Avionic Design N-bit GPIO expander. The expander provides a variable number of GPIO pins with interrupt support. Changes in v2: - allow building the driver as a module - assign of_node unconditionally - use linear mapping IRQ domain - properly cleanup IRQ domain - add OF device table and annotate device tables - emulate rising and falling edge triggers - increase #gpio-cells to 2 - drop support for !OF - use IS_ENABLED to conditionalize DEBUG_FS code Changes in v3: - make IRQ support runtime configurable (interrupt-controller property) - drop interrupt-controller and #interrupt-cells from DT binding - add inline to_adnp() function to wrap container_of() macro - consistently use adnp as name for struct adnp variables - remove irq_mask_cur and rename irq_mask to irq_enable - fix a subtle deadlock in adnp_gpio_direction_output() - remove dynamic allocations from debugfs code - rename regs to num_regs to avoid confusion - annotate non-trivial code with comments - don't acquire mutex in adnp_gpio_get() - assume NO_IRQ == 0 Cc: Grant Likely <grant.likely@secretlab.ca> Cc: devicetree-discuss@lists.ozlabs.org Cc: Linus Walleij <linus.walleij@stericsson.com> Cc: linux-kernel@vger.kernel.org Acked-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/Kconfig')
-rw-r--r--drivers/gpio/Kconfig11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 2f2a3b86b985..bf48c74ba4a0 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -444,6 +444,17 @@ config GPIO_ADP5588_IRQ
444 Say yes here to enable the adp5588 to be used as an interrupt 444 Say yes here to enable the adp5588 to be used as an interrupt
445 controller. It requires the driver to be built in the kernel. 445 controller. It requires the driver to be built in the kernel.
446 446
447config GPIO_ADNP
448 tristate "Avionic Design N-bit GPIO expander"
449 depends on I2C && OF
450 help
451 This option enables support for N GPIOs found on Avionic Design
452 I2C GPIO expanders. The register space will be extended by powers
453 of two, so the controller will need to accomodate for that. For
454 example: if a controller provides 48 pins, 6 registers will be
455 enough to represent all pins, but the driver will assume a
456 register layout for 64 pins (8 registers).
457
447comment "PCI GPIO expanders:" 458comment "PCI GPIO expanders:"
448 459
449config GPIO_CS5535 460config GPIO_CS5535