@@ -1004,17 +1004,13 @@ static int k3_r5_reserved_mem_init(struct k3_r5_rproc *kproc)
1004
1004
/* use remaining reserved memory regions for static carveouts */
1005
1005
for (i = 0 ; i < num_rmems ; i ++ ) {
1006
1006
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 ;
1011
1009
1012
1010
rmem = of_reserved_mem_lookup (rmem_np );
1013
1011
of_node_put (rmem_np );
1014
- if (!rmem ) {
1015
- ret = - EINVAL ;
1016
- goto unmap_rmem ;
1017
- }
1012
+ if (!rmem )
1013
+ return - EINVAL ;
1018
1014
1019
1015
kproc -> rmem [i ].bus_addr = rmem -> base ;
1020
1016
/*
@@ -1029,12 +1025,11 @@ static int k3_r5_reserved_mem_init(struct k3_r5_rproc *kproc)
1029
1025
*/
1030
1026
kproc -> rmem [i ].dev_addr = (u32 )rmem -> base ;
1031
1027
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 );
1033
1029
if (!kproc -> rmem [i ].cpu_addr ) {
1034
1030
dev_err (dev , "failed to map reserved memory#%d at %pa of size %pa\n" ,
1035
1031
i + 1 , & rmem -> base , & rmem -> size );
1036
- ret = - ENOMEM ;
1037
- goto unmap_rmem ;
1032
+ return - ENOMEM ;
1038
1033
}
1039
1034
1040
1035
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)
1045
1040
kproc -> num_rmems = num_rmems ;
1046
1041
1047
1042
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 );
1061
1043
}
1062
1044
1063
1045
/*
@@ -1286,8 +1268,8 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
1286
1268
1287
1269
ret = rproc_add (rproc );
1288
1270
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 ;
1291
1273
}
1292
1274
1293
1275
/* create only one rproc in lockstep, single-cpu or
@@ -1333,8 +1315,6 @@ static int k3_r5_cluster_rproc_init(struct platform_device *pdev)
1333
1315
1334
1316
err_powerup :
1335
1317
rproc_del (rproc );
1336
- err_add :
1337
- k3_r5_reserved_mem_exit (kproc );
1338
1318
out :
1339
1319
/* undo core0 upon any failures on core1 in split-mode */
1340
1320
if (cluster -> mode == CLUSTER_MODE_SPLIT && core == core1 ) {
@@ -1379,8 +1359,6 @@ static void k3_r5_cluster_rproc_exit(void *data)
1379
1359
mbox_free_channel (kproc -> mbox );
1380
1360
1381
1361
rproc_del (rproc );
1382
-
1383
- k3_r5_reserved_mem_exit (kproc );
1384
1362
}
1385
1363
}
1386
1364
0 commit comments