@@ -1004,17 +1004,13 @@ static int k3_r5_reserved_mem_init(struct k3_r5_rproc *kproc)
10041004 /* use remaining reserved memory regions for static carveouts */
10051005 for (i = 0 ; i < num_rmems ; i ++ ) {
10061006 rmem_np = of_parse_phandle (np , "memory-region" , i + 1 );
1007- if (!rmem_np ) {
1008- ret = - EINVAL ;
1009- goto unmap_rmem ;
1010- }
1007+ if (!rmem_np )
1008+ return - EINVAL ;
10111009
10121010 rmem = of_reserved_mem_lookup (rmem_np );
10131011 of_node_put (rmem_np );
1014- if (!rmem ) {
1015- ret = - EINVAL ;
1016- goto unmap_rmem ;
1017- }
1012+ if (!rmem )
1013+ return - EINVAL ;
10181014
10191015 kproc -> rmem [i ].bus_addr = rmem -> base ;
10201016 /*
@@ -1029,12 +1025,11 @@ static int k3_r5_reserved_mem_init(struct k3_r5_rproc *kproc)
10291025 */
10301026 kproc -> rmem [i ].dev_addr = (u32 )rmem -> base ;
10311027 kproc -> rmem [i ].size = rmem -> size ;
1032- kproc -> rmem [i ].cpu_addr = ioremap_wc ( rmem -> base , rmem -> size );
1028+ kproc -> rmem [i ].cpu_addr = devm_ioremap_wc ( dev , rmem -> base , rmem -> size );
10331029 if (!kproc -> rmem [i ].cpu_addr ) {
10341030 dev_err (dev , "failed to map reserved memory#%d at %pa of size %pa\n" ,
10351031 i + 1 , & rmem -> base , & rmem -> size );
1036- ret = - ENOMEM ;
1037- goto unmap_rmem ;
1032+ return - ENOMEM ;
10381033 }
10391034
10401035 dev_dbg (dev , "reserved memory%d: bus addr %pa size 0x%zx va %pK da 0x%x\n" ,
@@ -1045,19 +1040,6 @@ static int k3_r5_reserved_mem_init(struct k3_r5_rproc *kproc)
10451040 kproc -> num_rmems = num_rmems ;
10461041
10471042 return 0 ;
1048-
1049- unmap_rmem :
1050- for (i -- ; i >= 0 ; i -- )
1051- iounmap (kproc -> rmem [i ].cpu_addr );
1052- return ret ;
1053- }
1054-
1055- static void k3_r5_reserved_mem_exit (struct k3_r5_rproc * kproc )
1056- {
1057- int i ;
1058-
1059- for (i = 0 ; i < kproc -> num_rmems ; i ++ )
1060- iounmap (kproc -> rmem [i ].cpu_addr );
10611043}
10621044
10631045/*
@@ -1286,8 +1268,8 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
12861268
12871269 ret = rproc_add (rproc );
12881270 if (ret ) {
1289- dev_err (dev , "rproc_add failed, ret = %d \n" , ret );
1290- goto err_add ;
1271+ dev_err_probe (dev , ret , "rproc_add failed\n" );
1272+ goto out ;
12911273 }
12921274
12931275 /* create only one rproc in lockstep, single-cpu or
@@ -1333,8 +1315,6 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
13331315
13341316err_powerup :
13351317 rproc_del (rproc );
1336- err_add :
1337- k3_r5_reserved_mem_exit (kproc );
13381318out :
13391319 /* undo core0 upon any failures on core1 in split-mode */
13401320 if (cluster -> mode == CLUSTER_MODE_SPLIT && core == core1 ) {
@@ -1379,8 +1359,6 @@ static void k3_r5_cluster_rproc_exit(void *data)
13791359 mbox_free_channel (kproc -> mbox );
13801360
13811361 rproc_del (rproc );
1382-
1383- k3_r5_reserved_mem_exit (kproc );
13841362 }
13851363}
13861364
0 commit comments