diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2019-08-08 14:32:40 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2019-08-15 09:44:19 +0200 |
commit | a7fc89f9d5fcc10a5474cfe555f5a9e5df8b0f1f (patch) | |
tree | e5c86137ae172def039ac434bb84a11ecbcb00ae /drivers/gpio/Kconfig | |
parent | 821c76c4c374adf0c7a7608ee4661aa801f3c1c5 (diff) | |
download | linux-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/Kconfig | 1 |
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 |