diff options
| author | Peng Fan <peng.fan@nxp.com> | 2025-10-24 10:51:30 +0800 |
|---|---|---|
| committer | Mathieu Poirier <mathieu.poirier@linaro.org> | 2025-10-24 08:47:26 -0600 |
| commit | b2d66cd137e73e5ef5918d910cb42a8c882664d3 (patch) | |
| tree | dff0d9783642add19d91bf80398d749478303f78 /drivers/remoteproc | |
| parent | 016a3d4bcf92400b4f91b33fe4c8bdecdabc3c2a (diff) | |
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 <daniel.baluta@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20251024-imx_rproc_c4-v4-3-af83ed3fdbba@nxp.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Diffstat (limited to 'drivers/remoteproc')
| -rw-r--r-- | drivers/remoteproc/imx_rproc.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 820b0cd5adbb..25f5cb4d414e 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 = { |
