|
@@ -1345,7 +1345,8 @@ static int mmc_omap_probe(struct platform_device *pdev)
|
|
|
if (res == NULL)
|
|
|
return -EBUSY;
|
|
|
|
|
|
- host = kzalloc(sizeof(struct mmc_omap_host), GFP_KERNEL);
|
|
|
+ host = devm_kzalloc(&pdev->dev, sizeof(struct mmc_omap_host),
|
|
|
+ GFP_KERNEL);
|
|
|
if (host == NULL) {
|
|
|
ret = -ENOMEM;
|
|
|
goto err_free_mem_region;
|
|
@@ -1465,7 +1466,6 @@ err_free_iclk:
|
|
|
err_free_mmc_host:
|
|
|
iounmap(host->virt_base);
|
|
|
err_ioremap:
|
|
|
- kfree(host);
|
|
|
err_free_mem_region:
|
|
|
release_mem_region(res->start, resource_size(res));
|
|
|
return ret;
|
|
@@ -1500,8 +1500,6 @@ static int mmc_omap_remove(struct platform_device *pdev)
|
|
|
pdev->resource[0].end - pdev->resource[0].start + 1);
|
|
|
destroy_workqueue(host->mmc_omap_wq);
|
|
|
|
|
|
- kfree(host);
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|