On Sat, Dec 25, 2021 at 3:55 AM 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 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(). ... > + irq = platform_get_irq_optional(ofdev, 0); > + if (irq < 0 && irq != -ENXIO) > + return irq; > + > + if (irq > 0) { > + memset(&irq_res, 0x0, sizeof(struct resource)); Why do you need that variable at all? 0x0 -> 0 sizeof(irq_res) > + irq_res.start = irq; > + } -- With Best Regards, Andy Shevchenko