Re: [PATCH v2] irqchip: imx-irqsteer: Convert to devm_pm_runtime_enable()

Frank Li <[email protected]> Thu, 30 Jul 2026 09:52:10 -0500
Newsgroups dev.linux.lists.imx,org.kernel.vger.linux-kernel
Message-ID <amtlGjFpS-XYDxpC@SMW015318>
On Wed, Jul 29, 2026 at 07:14:16PM -0300, Fabio Estevam wrote:
> imx_irqsteer_probe() enables runtime PM, but imx_irqsteer_remove()
> does not disable it.
>
> Consequently, runtime PM remains enabled after unbinding the device,
> and rebinding it triggers:
>
> Unbalanced pm_runtime_enable!
>
> Use devm_pm_runtime_enable() to automatically disable runtime PM when
> the device is removed.
>
> Fixes: 4730d2233311 ("irqchip/imx-irqsteer: Add runtime PM support")
> Signed-off-by: Fabio Estevam <[email protected]>
> ---

Reviewed-by: Frank Li <[email protected]>

> Changes since v1:
> - Use devm_pm_runtime_enable() (Frank)
>
>  drivers/irqchip/irq-imx-irqsteer.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-irqsteer.c
> index 87b07f517be3..ba1203d3edd4 100644
> --- a/drivers/irqchip/irq-imx-irqsteer.c
> +++ b/drivers/irqchip/irq-imx-irqsteer.c
> @@ -263,7 +263,9 @@ static int imx_irqsteer_probe(struct platform_device *pdev)
>  	platform_set_drvdata(pdev, data);
>
>  	pm_runtime_set_active(&pdev->dev);
> -	pm_runtime_enable(&pdev->dev);
> +	ret = devm_pm_runtime_enable(&pdev->dev);
> +	if (ret)
> +		goto out;
>
>  	return 0;
>  out:
> --
> 2.43.0
>
>