summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/Kconfig
diff options
context:
space:
mode:
authorQuentin Schulz <quentin.schulz@bootlin.com>2018-07-25 14:26:21 +0200
committerLinus Walleij <linus.walleij@linaro.org>2018-08-06 13:00:17 +0200
commitbe36abb71d878f3320412a84e6bbec8dd796010c (patch)
tree21b80e5e6c09b818ab62d47473a8ac1f116078fe /drivers/pinctrl/Kconfig
parentpinctrl: intel: Don't shadow error code of gpiochip_lock_as_irq() (diff)
downloadlinux-be36abb71d878f3320412a84e6bbec8dd796010c.tar.xz
linux-be36abb71d878f3320412a84e6bbec8dd796010c.zip
pinctrl: ocelot: add support for interrupt controller
This GPIO controller can serve as an interrupt controller as well on the GPIOs it handles. An interrupt is generated whenever a GPIO line changes and the interrupt for this GPIO line is enabled. This means that both the changes from low to high and high to low generate an interrupt. For some use cases, it makes sense to ignore the high to low change and not generate an interrupt. Such a use case is a line that is hold in a level high/low manner until the event holding the line gets acked. This can be achieved by making sure the interrupt on the GPIO controller side gets acked and masked only after the line gets hold in its default state, this is what's done with the fasteoi functions. Only IRQ_TYPE_EDGE_BOTH and IRQ_TYPE_LEVEL_HIGH are supported for now. Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/Kconfig')
-rw-r--r--drivers/pinctrl/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 522782d1ea49..8d4b7e999f02 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -332,6 +332,7 @@ config PINCTRL_OCELOT
depends on OF
depends on MSCC_OCELOT || COMPILE_TEST
select GPIOLIB
+ select GPIOLIB_IRQCHIP
select GENERIC_PINCONF
select GENERIC_PINCTRL_GROUPS
select GENERIC_PINMUX_FUNCTIONS