[PATCH v3] soc: ti: smartreflex: Use platform_get_irq_optional() to get the interrupt

Andy Shevchenko andy.shevchenko at gmail.com
Sat Dec 25 08:56:22 PST 2021


On Sat, Dec 25, 2021 at 4:08 AM Lad Prabhakar
<prabhakar.mahadev-lad.rj at 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().

...

> +       ret = platform_get_irq_optional(pdev, 0);
> +       if (ret < 0 && ret != -ENXIO) {

> +               dev_err(&pdev->dev, "%s: failed to get IRQ resource\n", __func__);
> +               return ret;

Almost fine, but you should exclude this from the deferred probe, so switch to

  return dev_err_probe(...);

> +       }
> +       if (ret > 0)
> +               sr_info->irq = ret;

...

> +       ret = 0;

I do not see the context, is it really necessary?

-- 
With Best Regards,
Andy Shevchenko



More information about the linux-arm-kernel mailing list