提交 b42f7f30 编写于 作者: F Felipe Balbi

usb: musb: switch over to devm_ioremap_resource()

this will make sure that request_memory_region() will
be called and that we don't need to manually call
iounmap() on ->remove().
Signed-off-by: NFelipe Balbi <balbi@ti.com>
上级 6110a7eb
...@@ -2008,7 +2008,6 @@ static int musb_probe(struct platform_device *pdev) ...@@ -2008,7 +2008,6 @@ static int musb_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
int irq = platform_get_irq_byname(pdev, "mc"); int irq = platform_get_irq_byname(pdev, "mc");
int status;
struct resource *iomem; struct resource *iomem;
void __iomem *base; void __iomem *base;
...@@ -2016,24 +2015,17 @@ static int musb_probe(struct platform_device *pdev) ...@@ -2016,24 +2015,17 @@ static int musb_probe(struct platform_device *pdev)
if (!iomem || irq <= 0) if (!iomem || irq <= 0)
return -ENODEV; return -ENODEV;
base = ioremap(iomem->start, resource_size(iomem)); base = devm_ioremap_resource(dev, iomem);
if (!base) { if (IS_ERR(base))
dev_err(dev, "ioremap failed\n"); return PTR_ERR(base);
return -ENOMEM;
}
status = musb_init_controller(dev, irq, base); return musb_init_controller(dev, irq, base);
if (status < 0)
iounmap(base);
return status;
} }
static int musb_remove(struct platform_device *pdev) static int musb_remove(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct musb *musb = dev_to_musb(dev); struct musb *musb = dev_to_musb(dev);
void __iomem *ctrl_base = musb->ctrl_base;
/* this gets called on rmmod. /* this gets called on rmmod.
* - Host mode: host may still be active * - Host mode: host may still be active
...@@ -2044,7 +2036,6 @@ static int musb_remove(struct platform_device *pdev) ...@@ -2044,7 +2036,6 @@ static int musb_remove(struct platform_device *pdev)
musb_shutdown(pdev); musb_shutdown(pdev);
musb_free(musb); musb_free(musb);
iounmap(ctrl_base);
device_init_wakeup(dev, 0); device_init_wakeup(dev, 0);
#ifndef CONFIG_MUSB_PIO_ONLY #ifndef CONFIG_MUSB_PIO_ONLY
dma_set_mask(dev, *dev->parent->dma_mask); dma_set_mask(dev, *dev->parent->dma_mask);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册