| Message ID | 20221026070614.24446-1-pshete@nvidia.com |
|---|---|
| State | Handled Elsewhere |
| Headers | show |
| Series | [v2] gpio: tegra186: Check PMC driver status before any request | expand |
On Wed, Oct 26, 2022 at 9:06 AM Prathamesh Shete <pshete@nvidia.com> wrote: > This patch fixes the issue where even if PMC driver status is > disabled still we are trying to look up for the IRQ domain > that PMC driver would've registered if it had been enabled. > > Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com> > Signed-off-by: Prathamesh Shete <pshete@nvidia.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
On Wed, Oct 26, 2022 at 12:36:14PM +0530, Prathamesh Shete wrote: > This patch fixes the issue where even if PMC driver status is > disabled still we are trying to look up for the IRQ domain > that PMC driver would've registered if it had been enabled. > > Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com> > Signed-off-by: Prathamesh Shete <pshete@nvidia.com> > --- > drivers/gpio/gpio-tegra186.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) Acked-by: Thierry Reding <treding@nvidia.com>
diff --git a/drivers/gpio/gpio-tegra186.c b/drivers/gpio/gpio-tegra186.c index 54d9fa7da9c1..b99756037ed4 100644 --- a/drivers/gpio/gpio-tegra186.c +++ b/drivers/gpio/gpio-tegra186.c @@ -896,11 +896,15 @@ static int tegra186_gpio_probe(struct platform_device *pdev) np = of_find_matching_node(NULL, tegra186_pmc_of_match); if (np) { - irq->parent_domain = irq_find_host(np); - of_node_put(np); - - if (!irq->parent_domain) - return -EPROBE_DEFER; + if (of_device_is_available(np)) { + irq->parent_domain = irq_find_host(np); + of_node_put(np); + + if (!irq->parent_domain) + return -EPROBE_DEFER; + } else { + of_node_put(np); + } } irq->map = devm_kcalloc(&pdev->dev, gpio->gpio.ngpio,