RE: [PATCH v6 9/9] irqchip/imx-irqsteer: Use devm_irq_domain_create_linear()
From: Zhipeng Wang (OSS)
Date: Sat Oct 10 2026 - 05:07:57 EST
> Subject: Re: [PATCH v6 9/9] irqchip/imx-irqsteer: Use
> devm_irq_domain_create_linear()
>
> On Thu, Oct 08, 2026 at 06:02:31PM +0900, Zhipeng.wang_1@xxxxxxxxxxx
> wrote:
> > From: Zhipeng Wang <zhipeng.wang_1@xxxxxxx>
> >
> > The driver open-codes an irq_domain_info and calls
> > devm_irq_domain_instantiate() only to get a linear revmap domain tied
> > to
>
> Miss match actual code change.
>
> Frank
>
Hi Frank,
Right, the commit message was stale from an earlier version that used
devm_irq_domain_instantiate() with an open-coded irq_domain_info. I'll
fix it in v7 to describe the actual change (irq_domain_create_linear()
-> devm_irq_domain_create_linear(), dropping irq_domain_remove() in
remove()).
Thanks,
Zhipeng
> > the device lifetime. Use the new devm_irq_domain_create_linear()
> > helper instead. No functional change.
> >
> > Signed-off-by: Zhipeng Wang <zhipeng.wang_1@xxxxxxx>
> > ---
> > drivers/irqchip/irq-imx-irqsteer.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/irqchip/irq-imx-irqsteer.c
> > b/drivers/irqchip/irq-imx-irqsteer.c
> > index 85edd5e33ca9..f5601769d036 100644
> > --- a/drivers/irqchip/irq-imx-irqsteer.c
> > +++ b/drivers/irqchip/irq-imx-irqsteer.c
> > @@ -246,8 +246,9 @@ static int imx_irqsteer_probe(struct platform_device
> *pdev)
> > if (ret)
> > return ret;
> >
> > - data->domain = irq_domain_create_linear(dev_fwnode(&pdev->dev),
> data->reg_num * 32,
> > - &imx_irqsteer_domain_ops, data);
> > + data->domain = devm_irq_domain_create_linear(&pdev->dev,
> dev_fwnode(&pdev->dev),
> > + data->reg_num * 32,
> > + &imx_irqsteer_domain_ops, data);
> > if (!data->domain) {
> > dev_err(&pdev->dev, "failed to create IRQ domain\n");
> > return -ENOMEM;
> > @@ -294,8 +295,6 @@ static void imx_irqsteer_remove(struct
> platform_device *pdev)
> > irq_dispose_mapping(irqsteer_data->irq[i]);
> > }
> >
> > - irq_domain_remove(irqsteer_data->domain);
> > -
> > if (ret >= 0)
> > pm_runtime_put_noidle(&pdev->dev);
> > }
> > --
> > 2.34.1
> >
> >