[PATCH v6 9/9] irqchip/imx-irqsteer: Use devm_irq_domain_create_linear()

From: Zhipeng . wang_1

Date: Thu Oct 08 2026 - 05:08:57 EST


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
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