From a7fc89f9d5fcc10a5474cfe555f5a9e5df8b0f1f Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Thu, 8 Aug 2019 14:32:40 +0200 Subject: 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 Cc: Thierry Reding Cc: Brian Masney Signed-off-by: Linus Walleij Link: https://lore.kernel.org/r/20190808123242.5359-4-linus.walleij@linaro.org --- drivers/gpio/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/gpio/Kconfig') 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 -- cgit v1.2.3