summaryrefslogtreecommitdiff
path: root/drivers/misc
diff options
context:
space:
mode:
authorHimangi Saraogi <himangi774@gmail.com>2014-07-14 21:23:51 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-07-16 20:47:53 (GMT)
commite1ada0f2c2286f113870b186a563eaee86d80f3c (patch)
treebd162431c74095792f0a0222e8ffd71e206af0a1 /drivers/misc
parent9f48c89862e39b7f33b44123fc425cf901c89428 (diff)
downloadlinux-e1ada0f2c2286f113870b186a563eaee86d80f3c.tar.xz
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>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/mic/card/mic_x100.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/misc/mic/card/mic_x100.c b/drivers/misc/mic/card/mic_x100.c
index 55c9465..9d57545 100644
--- a/drivers/misc/mic/card/mic_x100.c
+++ b/drivers/misc/mic/card/mic_x100.c
@@ -200,7 +200,8 @@ static int __init mic_probe(struct platform_device *pdev)
mdev->mmio.pa = MIC_X100_MMIO_BASE;
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) {
dev_err(&pdev->dev, "Cannot remap MMIO BAR\n");
rc = -EIO;
@@ -214,7 +215,7 @@ static int __init mic_probe(struct platform_device *pdev)
if (IS_ERR(mdrv->dma_mbdev)) {
rc = PTR_ERR(mdrv->dma_mbdev);
dev_err(&pdev->dev, "mbus_add_device failed rc %d\n", rc);
- goto iounmap;
+ goto done;
}
rc = mic_driver_init(mdrv);
if (rc) {
@@ -225,19 +226,15 @@ done:
return rc;
remove_dma:
mbus_unregister_device(mdrv->dma_mbdev);
-iounmap:
- iounmap(mdev->mmio.va);
return rc;
}
static int mic_remove(struct platform_device *pdev)
{
struct mic_driver *mdrv = &g_drv;
- struct mic_device *mdev = &mdrv->mdev;
mic_driver_uninit(mdrv);
mbus_unregister_device(mdrv->dma_mbdev);
- iounmap(mdev->mmio.va);
return 0;
}