summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/Kconfig
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2019-08-08 14:32:40 +0200
committerLinus Walleij <linus.walleij@linaro.org>2019-08-15 09:44:19 +0200
commita7fc89f9d5fcc10a5474cfe555f5a9e5df8b0f1f (patch)
treee5c86137ae172def039ac434bb84a11ecbcb00ae /drivers/gpio/Kconfig
parent821c76c4c374adf0c7a7608ee4661aa801f3c1c5 (diff)
downloadlinux-a7fc89f9d5fcc10a5474cfe555f5a9e5df8b0f1f.tar.gz
linux-a7fc89f9d5fcc10a5474cfe555f5a9e5df8b0f1f.tar.bz2
linux-a7fc89f9d5fcc10a5474cfe555f5a9e5df8b0f1f.zip
gpio: thunderx: Switch to GPIOLIB_IRQCHIP
Use the new infrastructure for hierarchical irqchips in gpiolib. The major part of the rewrite was dues to the fact that the driver was passing around a per-irq pointer to struct thunderx_line * data container, and the central handlers will assume struct gpio_chip * to be passed to we need to use the hwirq as index to look up the struct thunderx_line * for each IRQ. The pushing and pop:ing of the irqdomain was confusing because I've never seen this before, but I tried to replicate it as best I could. I have no chance to test or debug this so I need help. Cc: David Daney <david.daney@cavium.com> Cc: Thierry Reding <treding@nvidia.com> Cc: Brian Masney <masneyb@onstation.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20190808123242.5359-4-linus.walleij@linaro.org
Diffstat (limited to 'drivers/gpio/Kconfig')
-rw-r--r--drivers/gpio/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index b34e9b11a7ef..3125aca2db9f 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -539,6 +539,7 @@ config GPIO_THUNDERX
tristate "Cavium ThunderX/OCTEON-TX GPIO"
depends on ARCH_THUNDER || (64BIT && COMPILE_TEST)
depends on PCI_MSI
+ select GPIOLIB_IRQCHIP
select IRQ_DOMAIN_HIERARCHY
select IRQ_FASTEOI_HIERARCHY_HANDLERS
help