From: Peng Fan Date: Fri, 24 Oct 2025 02:51:30 +0000 (+0800) Subject: remoteproc: imx_rproc: Enable PM runtime support unconditionally X-Git-Tag: v6.19-rc1~82^2~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b2d66cd137e73e5ef5918d910cb42a8c882664d3;p=thirdparty%2Fkernel%2Flinux.git 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 --- 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 = {