Use a device lifecycle managed action to free memory. This helps prevent
mistakes like freeing out of order in cleanup functions and forgetting
to free on error paths.

Signed-off-by: Beleswar Padhi <b-pa...@ti.com>
---
v2: Changelog:
1. None to this patch

Link to v1:
https://lore.kernel.org/all/20241204111130.2218497-3-b-pa...@ti.com/

 drivers/remoteproc/ti_k3_r5_remoteproc.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/remoteproc/ti_k3_r5_remoteproc.c 
b/drivers/remoteproc/ti_k3_r5_remoteproc.c
index d51f88a5abc1..0753a5c35c7e 100644
--- a/drivers/remoteproc/ti_k3_r5_remoteproc.c
+++ b/drivers/remoteproc/ti_k3_r5_remoteproc.c
@@ -997,7 +997,7 @@ static int k3_r5_reserved_mem_init(struct k3_r5_rproc 
*kproc)
                return ret;
 
        num_rmems--;
-       kproc->rmem = kcalloc(num_rmems, sizeof(*kproc->rmem), GFP_KERNEL);
+       kproc->rmem = devm_kcalloc(dev, num_rmems, sizeof(*kproc->rmem), 
GFP_KERNEL);
        if (!kproc->rmem)
                return -ENOMEM;
 
@@ -1049,7 +1049,6 @@ static int k3_r5_reserved_mem_init(struct k3_r5_rproc 
*kproc)
 unmap_rmem:
        for (i--; i >= 0; i--)
                iounmap(kproc->rmem[i].cpu_addr);
-       kfree(kproc->rmem);
        return ret;
 }
 
@@ -1059,7 +1058,6 @@ static void k3_r5_reserved_mem_exit(struct k3_r5_rproc 
*kproc)
 
        for (i = 0; i < kproc->num_rmems; i++)
                iounmap(kproc->rmem[i].cpu_addr);
-       kfree(kproc->rmem);
 }
 
 /*
-- 
2.34.1


Reply via email to