Skip to content

Commit c81ef0c

Browse files
3V3RYONEmathieupoirier
authored andcommitted
remoteproc: k3-r5: Use devm_rproc_alloc() helper
Use the device lifecycle managed allocation function. This helps prevent mistakes like freeing out of order in cleanup functions and forgetting to free on error paths. Signed-off-by: Beleswar Padhi <[email protected]> Reviewed-by: Andrew Davis <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mathieu Poirier <[email protected]>
1 parent 9091225 commit c81ef0c

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

drivers/remoteproc/ti_k3_r5_remoteproc.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,8 +1259,8 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
12591259
goto out;
12601260
}
12611261

1262-
rproc = rproc_alloc(cdev, dev_name(cdev), &k3_r5_rproc_ops,
1263-
fw_name, sizeof(*kproc));
1262+
rproc = devm_rproc_alloc(cdev, dev_name(cdev), &k3_r5_rproc_ops,
1263+
fw_name, sizeof(*kproc));
12641264
if (!rproc) {
12651265
ret = -ENOMEM;
12661266
goto out;
@@ -1280,15 +1280,15 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
12801280

12811281
ret = k3_r5_rproc_configure_mode(kproc);
12821282
if (ret < 0)
1283-
goto err_config;
1283+
goto out;
12841284
if (ret)
12851285
goto init_rmem;
12861286

12871287
ret = k3_r5_rproc_configure(kproc);
12881288
if (ret) {
12891289
dev_err(dev, "initial configure failed, ret = %d\n",
12901290
ret);
1291-
goto err_config;
1291+
goto out;
12921292
}
12931293

12941294
init_rmem:
@@ -1298,7 +1298,7 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
12981298
if (ret) {
12991299
dev_err(dev, "reserved memory init failed, ret = %d\n",
13001300
ret);
1301-
goto err_config;
1301+
goto out;
13021302
}
13031303

13041304
ret = rproc_add(rproc);
@@ -1351,9 +1351,6 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
13511351
rproc_del(rproc);
13521352
err_add:
13531353
k3_r5_reserved_mem_exit(kproc);
1354-
err_config:
1355-
rproc_free(rproc);
1356-
core->rproc = NULL;
13571354
out:
13581355
/* undo core0 upon any failures on core1 in split-mode */
13591356
if (cluster->mode == CLUSTER_MODE_SPLIT && core == core1) {
@@ -1398,9 +1395,6 @@ static void k3_r5_cluster_rproc_exit(void *data)
13981395
rproc_del(rproc);
13991396

14001397
k3_r5_reserved_mem_exit(kproc);
1401-
1402-
rproc_free(rproc);
1403-
core->rproc = NULL;
14041398
}
14051399
}
14061400

0 commit comments

Comments
 (0)