From cfd5dd4c85426b676dc59b3de075b4f98641b252 Mon Sep 17 00:00:00 2001 From: Prathamesh Shete Date: Fri, 11 Nov 2022 10:58:35 +0000 Subject: [PATCH] NVIDIA: SAUCE: gpio: tegra186: enable interrupt for all routemap registers BugLink: https://bugs.launchpad.net/bugs/2072591 Configure IRQ parent for all interrupts listed in GPIO DT Signed-off-by: Prathamesh Shete Reviewed-by: Bitan Biswas Signed-off-by: Laxman Dewangan Acked-by: Jacob Martin Acked-by: Noah Wager Signed-off-by: Noah Wager --- drivers/gpio/gpio-tegra186.c | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/drivers/gpio/gpio-tegra186.c b/drivers/gpio/gpio-tegra186.c index 9130c691a2dd..2f23ef37b20c 100644 --- a/drivers/gpio/gpio-tegra186.c +++ b/drivers/gpio/gpio-tegra186.c @@ -939,27 +939,8 @@ static int tegra186_gpio_probe(struct platform_device *pdev) irq->parent_handler_data = gpio; irq->num_parents = gpio->num_irq; - /* - * To simplify things, use a single interrupt per bank for now. Some - * chips support up to 8 interrupts per bank, which can be useful to - * distribute the load and decrease the processing latency for GPIOs - * but it also requires a more complicated interrupt routing than we - * currently program. - */ - if (gpio->num_irqs_per_bank > 1) { - irq->parents = devm_kcalloc(&pdev->dev, gpio->num_banks, - sizeof(*irq->parents), GFP_KERNEL); - if (!irq->parents) - return -ENOMEM; - - for (i = 0; i < gpio->num_banks; i++) - irq->parents[i] = gpio->irq[i * gpio->num_irqs_per_bank]; - - irq->num_parents = gpio->num_banks; - } else { - irq->num_parents = gpio->num_irq; - irq->parents = gpio->irq; - } + irq->num_parents = gpio->num_irq; + irq->parents = gpio->irq; if (gpio->soc->num_irqs_per_bank > 1) tegra186_gpio_init_route_mapping(gpio);