]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
remoteproc: imx_rproc: Use devm_rproc_add() helper
authorPeng Fan <peng.fan@nxp.com>
Fri, 26 Sep 2025 12:33:20 +0000 (20:33 +0800)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Tue, 14 Oct 2025 15:14:32 +0000 (09:14 -0600)
Replace manual rproc_add() and cleanup logic with devm_rproc_add(), which
ties the remoteproc lifecycle to the device's lifecycle. This simplifies
error handling and ensures proper cleanup.

With no need to invoke rproc_del(), the remove() ops could be removed.

No functional changes.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20250926-imx_rproc_v3-v3-6-4c0ec279cc5f@nxp.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
drivers/remoteproc/imx_rproc.c

index 76feda868cb619b79922bcee4c6fdb3e16fc81e3..68e01b647b66910627fb2256c96c152f3c22c83b 100644 (file)
@@ -1135,7 +1135,7 @@ static int imx_rproc_probe(struct platform_device *pdev)
                        return dev_err_probe(dev, ret, "pm_runtime get failed\n");
        }
 
-       ret = rproc_add(rproc);
+       ret = devm_rproc_add(dev, rproc);
        if (ret) {
                dev_err(dev, "rproc_add failed\n");
                goto err_put_pm;
@@ -1161,7 +1161,6 @@ static void imx_rproc_remove(struct platform_device *pdev)
                pm_runtime_disable(priv->dev);
                pm_runtime_put_noidle(priv->dev);
        }
-       rproc_del(rproc);
 }
 
 static const struct imx_rproc_plat_ops imx_rproc_ops_arm_smc = {