Re: [PATCH 2/2] gpio: rcar: Use platform_get_irq() to get the interrupt

From: Andy Shevchenko
Date: Sat Dec 25 2021 - 09:49:56 EST


On Fri, Dec 24, 2021 at 9:21 PM Lad Prabhakar
<prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> wrote:
>
> platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static
> allocation of IRQ resources in DT core code, this causes an issue
> when using hierarchical interrupt domains using "interrupts" property
> in the node as this bypassed the hierarchical setup and messed up the
> irq chaining.
>
> In preparation for removal of static setup of IRQ resource from DT core
> code use platform_get_irq().

...

> - if (devm_request_irq(dev, irq->start, gpio_rcar_irq_handler,
> + if (devm_request_irq(dev, p->irq_parent, gpio_rcar_irq_handler,
> IRQF_SHARED, name, p)) {
> dev_err(dev, "failed to request IRQ\n");
> ret = -ENOENT;

While at it, you may unshadow the error code
ret = devm_request_irq(...);
if (ret) {
...
}

--
With Best Regards,
Andy Shevchenko