misc: mic: Introduce the managed version of ioremap
This patch moves data allocated using ioremap to managed data allocated using devm_ioremap and cleans now unnecessary iounmaps in probe and remove functions. Also the unnecessary label iounmap is done away with. Link: https://lkml.org/lkml/2014/6/1/191 Tested-by: Sudeep Dutt <sudeep.dutt@intel.com> Signed-off-by: Himangi Saraogi <himangi774@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
9f48c89862
Коммит
e1ada0f2c2
|
@ -200,7 +200,8 @@ static int __init mic_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
mdev->mmio.pa = MIC_X100_MMIO_BASE;
|
mdev->mmio.pa = MIC_X100_MMIO_BASE;
|
||||||
mdev->mmio.len = MIC_X100_MMIO_LEN;
|
mdev->mmio.len = MIC_X100_MMIO_LEN;
|
||||||
mdev->mmio.va = ioremap(MIC_X100_MMIO_BASE, MIC_X100_MMIO_LEN);
|
mdev->mmio.va = devm_ioremap(&pdev->dev, MIC_X100_MMIO_BASE,
|
||||||
|
MIC_X100_MMIO_LEN);
|
||||||
if (!mdev->mmio.va) {
|
if (!mdev->mmio.va) {
|
||||||
dev_err(&pdev->dev, "Cannot remap MMIO BAR\n");
|
dev_err(&pdev->dev, "Cannot remap MMIO BAR\n");
|
||||||
rc = -EIO;
|
rc = -EIO;
|
||||||
|
@ -214,7 +215,7 @@ static int __init mic_probe(struct platform_device *pdev)
|
||||||
if (IS_ERR(mdrv->dma_mbdev)) {
|
if (IS_ERR(mdrv->dma_mbdev)) {
|
||||||
rc = PTR_ERR(mdrv->dma_mbdev);
|
rc = PTR_ERR(mdrv->dma_mbdev);
|
||||||
dev_err(&pdev->dev, "mbus_add_device failed rc %d\n", rc);
|
dev_err(&pdev->dev, "mbus_add_device failed rc %d\n", rc);
|
||||||
goto iounmap;
|
goto done;
|
||||||
}
|
}
|
||||||
rc = mic_driver_init(mdrv);
|
rc = mic_driver_init(mdrv);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
|
@ -225,19 +226,15 @@ done:
|
||||||
return rc;
|
return rc;
|
||||||
remove_dma:
|
remove_dma:
|
||||||
mbus_unregister_device(mdrv->dma_mbdev);
|
mbus_unregister_device(mdrv->dma_mbdev);
|
||||||
iounmap:
|
|
||||||
iounmap(mdev->mmio.va);
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mic_remove(struct platform_device *pdev)
|
static int mic_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct mic_driver *mdrv = &g_drv;
|
struct mic_driver *mdrv = &g_drv;
|
||||||
struct mic_device *mdev = &mdrv->mdev;
|
|
||||||
|
|
||||||
mic_driver_uninit(mdrv);
|
mic_driver_uninit(mdrv);
|
||||||
mbus_unregister_device(mdrv->dma_mbdev);
|
mbus_unregister_device(mdrv->dma_mbdev);
|
||||||
iounmap(mdev->mmio.va);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче