Messages in this thread | | | From | Andy Shevchenko <> | Date | Thu, 6 Jan 2022 16:28:29 +0200 | Subject | Re: [PATCH v3] thermal: rcar_thermal: Use platform_get_irq_optional() to get the interrupt |
| |
On Tue, Jan 4, 2022 at 4:52 PM Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> 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 bypasses the hierarchical setup and messes up the > irq chaining. > > In preparation for removal of static setup of IRQ resource from DT core > code use platform_get_irq_optional().
...
> for (i = 0; i < chip->nirqs; i++) { > - irq = platform_get_resource(pdev, IORESOURCE_IRQ, i); > - if (!irq) > - continue; > + int irq;
> + irq = platform_get_irq_optional(pdev, i); > + if (irq < 0 && irq != -ENXIO) { > + ret = irq; > + goto error_unregister; > + } > + if (!irq || irq == -ENXIO) > + break;
Wouldn't be better to assign to ret
ret = platform_get_irq_optional(pdev, i); if (ret < 0 && ret != -ENXIO) goto error_unregister; if (ret > 0) irq = ret; else break;
?
-- With Best Regards, Andy Shevchenko
| |