File tree Expand file tree Collapse file tree 1 file changed +11
-7
lines changed Expand file tree Collapse file tree 1 file changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -1277,6 +1277,13 @@ static int omap_rproc_of_get_timers(struct platform_device *pdev,
1277
1277
return 0 ;
1278
1278
}
1279
1279
1280
+ static void omap_rproc_mem_release (void * data )
1281
+ {
1282
+ struct device * dev = data ;
1283
+
1284
+ of_reserved_mem_device_release (dev );
1285
+ }
1286
+
1280
1287
static int omap_rproc_probe (struct platform_device * pdev )
1281
1288
{
1282
1289
struct device_node * np = pdev -> dev .of_node ;
@@ -1346,27 +1353,24 @@ static int omap_rproc_probe(struct platform_device *pdev)
1346
1353
dev_warn (& pdev -> dev , "Typically this should be provided,\n" );
1347
1354
dev_warn (& pdev -> dev , "only omit if you know what you are doing.\n" );
1348
1355
}
1356
+ ret = devm_add_action_or_reset (& pdev -> dev , omap_rproc_mem_release , & pdev -> dev );
1357
+ if (ret )
1358
+ return ret ;
1349
1359
1350
1360
platform_set_drvdata (pdev , rproc );
1351
1361
1352
1362
ret = rproc_add (rproc );
1353
1363
if (ret )
1354
- goto release_mem ;
1364
+ return ret ;
1355
1365
1356
1366
return 0 ;
1357
-
1358
- release_mem :
1359
- of_reserved_mem_device_release (& pdev -> dev );
1360
-
1361
- return ret ;
1362
1367
}
1363
1368
1364
1369
static void omap_rproc_remove (struct platform_device * pdev )
1365
1370
{
1366
1371
struct rproc * rproc = platform_get_drvdata (pdev );
1367
1372
1368
1373
rproc_del (rproc );
1369
- of_reserved_mem_device_release (& pdev -> dev );
1370
1374
}
1371
1375
1372
1376
static const struct dev_pm_ops omap_rproc_pm_ops = {
You can’t perform that action at this time.
0 commit comments