On Mon, Oct 20, 2025 at 6:40 PM Mathieu Poirier
<[email protected]> wrote:
>
> 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 <[email protected]>
> > ---
> >  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);
> >  }
>
> Daniel - what is your take on this one?

This is on my todo list for review. Will send it asap.

Reply via email to