From b2d66cd137e73e5ef5918d910cb42a8c882664d3 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Fri, 24 Oct 2025 10:51:30 +0800 Subject: [PATCH] remoteproc: imx_rproc: Enable PM runtime support unconditionally PM runtime support is safe and applicable across all i.MX platforms, not just those using the SCU API. Remove the conditional check and enable PM runtime unconditionally to simplify the code and ensure consistent power management behavior. Reviewed-by: Daniel Baluta Reviewed-by: Frank Li Signed-off-by: Peng Fan Link: https://lore.kernel.org/r/20251024-imx_rproc_c4-v4-3-af83ed3fdbba@nxp.com Signed-off-by: Mathieu Poirier --- drivers/remoteproc/imx_rproc.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 820b0cd5adbb1..25f5cb4d414ea 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -1119,12 +1119,10 @@ static int imx_rproc_probe(struct platform_device *pdev) return dev_err_probe(dev, ret, "register restart handler failure\n"); } - if (dcfg->method == IMX_RPROC_SCU_API) { - pm_runtime_enable(dev); - ret = pm_runtime_resume_and_get(dev); - if (ret) - return dev_err_probe(dev, ret, "pm_runtime get failed\n"); - } + pm_runtime_enable(dev); + ret = pm_runtime_resume_and_get(dev); + if (ret) + return dev_err_probe(dev, ret, "pm_runtime get failed\n"); ret = devm_rproc_add(dev, rproc); if (ret) { @@ -1135,10 +1133,8 @@ static int imx_rproc_probe(struct platform_device *pdev) return 0; err_put_pm: - if (dcfg->method == IMX_RPROC_SCU_API) { - pm_runtime_disable(dev); - pm_runtime_put_noidle(dev); - } + pm_runtime_disable(dev); + pm_runtime_put_noidle(dev); return ret; } @@ -1148,10 +1144,8 @@ static void imx_rproc_remove(struct platform_device *pdev) struct rproc *rproc = platform_get_drvdata(pdev); struct imx_rproc *priv = rproc->priv; - if (priv->dcfg->method == IMX_RPROC_SCU_API) { - pm_runtime_disable(priv->dev); - pm_runtime_put_noidle(priv->dev); - } + pm_runtime_disable(priv->dev); + pm_runtime_put_noidle(priv->dev); } static const struct imx_rproc_plat_ops imx_rproc_ops_arm_smc = { -- 2.47.3