[PATCH v3 3/5] remoteproc: imx_rproc: Enable PM runtime support unconditionally
Frank Li
Frank.li at nxp.com
Wed Oct 15 07:28:59 PDT 2025
On Wed, Oct 15, 2025 at 09:52:57PM +0800, Peng Fan wrote:
> 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.
>
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
Reviewed-by: Frank Li <Frank.Li at nxp.com>
> 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 820b0cd5adbb17ce5665e7ec2786bca23f1a67ea..25f5cb4d414eabed7a166eb2a8ae5e20b6b4f667 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.37.1
>
More information about the linux-arm-kernel
mailing list