forked from Minki/linux
mmc: sh-mmcif: use devm_ for ioremap
Start tidying the probe/release code by using devm_ioremap_resource() to map the IO registers. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
ce7eb68875
commit
18f55fcc9d
@ -1378,22 +1378,15 @@ static int sh_mmcif_probe(struct platform_device *pdev)
|
|||||||
dev_err(&pdev->dev, "Get irq error\n");
|
dev_err(&pdev->dev, "Get irq error\n");
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
if (!res) {
|
reg = devm_ioremap_resource(&pdev->dev, res);
|
||||||
dev_err(&pdev->dev, "platform_get_resource error.\n");
|
if (IS_ERR(reg))
|
||||||
return -ENXIO;
|
return PTR_ERR(reg);
|
||||||
}
|
|
||||||
reg = ioremap(res->start, resource_size(res));
|
|
||||||
if (!reg) {
|
|
||||||
dev_err(&pdev->dev, "ioremap error.\n");
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
mmc = mmc_alloc_host(sizeof(struct sh_mmcif_host), &pdev->dev);
|
mmc = mmc_alloc_host(sizeof(struct sh_mmcif_host), &pdev->dev);
|
||||||
if (!mmc) {
|
if (!mmc)
|
||||||
ret = -ENOMEM;
|
return -ENOMEM;
|
||||||
goto ealloch;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = mmc_of_parse(mmc);
|
ret = mmc_of_parse(mmc);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
@ -1498,8 +1491,6 @@ eclkget:
|
|||||||
pm_runtime_disable(&pdev->dev);
|
pm_runtime_disable(&pdev->dev);
|
||||||
eofparse:
|
eofparse:
|
||||||
mmc_free_host(mmc);
|
mmc_free_host(mmc);
|
||||||
ealloch:
|
|
||||||
iounmap(reg);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1524,9 +1515,6 @@ static int sh_mmcif_remove(struct platform_device *pdev)
|
|||||||
*/
|
*/
|
||||||
cancel_delayed_work_sync(&host->timeout_work);
|
cancel_delayed_work_sync(&host->timeout_work);
|
||||||
|
|
||||||
if (host->addr)
|
|
||||||
iounmap(host->addr);
|
|
||||||
|
|
||||||
irq[0] = platform_get_irq(pdev, 0);
|
irq[0] = platform_get_irq(pdev, 0);
|
||||||
irq[1] = platform_get_irq(pdev, 1);
|
irq[1] = platform_get_irq(pdev, 1);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user