]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
remoteproc: k3-r5: Use devm_rproc_add() helper
authorBeleswar Padhi <b-padhi@ti.com>
Thu, 19 Dec 2024 11:05:44 +0000 (16:35 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 14:05:02 +0000 (16:05 +0200)
[ Upstream commit de182d2f5ca0801425919f38ec955033c09c601d ]

Use device lifecycle managed devm_rproc_add() helper function. This
helps prevent mistakes like deleting out of order in cleanup functions
and forgetting to delete on all error paths.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20241219110545.1898883-5-b-padhi@ti.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Stable-dep-of: 701177511abd ("remoteproc: k3-r5: Refactor sequential core power up/down operations")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/remoteproc/ti_k3_r5_remoteproc.c

index c38b76b4943d5bd79ab0339a6fdf635eb3beacad..055bdd36ef8655fac0c0fd52ce67b4a94bcb9086 100644 (file)
@@ -1258,7 +1258,7 @@ init_rmem:
                        goto out;
                }
 
-               ret = rproc_add(rproc);
+               ret = devm_rproc_add(dev, rproc);
                if (ret) {
                        dev_err_probe(dev, ret, "rproc_add failed\n");
                        goto out;
@@ -1289,7 +1289,7 @@ init_rmem:
                        dev_err(dev,
                                "Timed out waiting for %s core to power up!\n",
                                rproc->name);
-                       goto err_powerup;
+                       goto out;
                }
        }
 
@@ -1305,8 +1305,6 @@ err_split:
                }
        }
 
-err_powerup:
-       rproc_del(rproc);
 out:
        /* undo core0 upon any failures on core1 in split-mode */
        if (cluster->mode == CLUSTER_MODE_SPLIT && core == core1) {
@@ -1349,8 +1347,6 @@ static void k3_r5_cluster_rproc_exit(void *data)
                }
 
                mbox_free_channel(kproc->mbox);
-
-               rproc_del(rproc);
        }
 }