Hello. On 02/08/2013 04:02 PM, Felipe Balbi wrote: > 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: Felipe Balbi <balbi@xxxxxx> > --- > drivers/usb/musb/musb_core.c | 11 ++--------- > 1 file changed, 2 insertions(+), 9 deletions(-) > diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c > index a68ff27..48609ea 100644 > --- a/drivers/usb/musb/musb_core.c > +++ b/drivers/usb/musb/musb_core.c > @@ -2014,7 +2014,6 @@ static int musb_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > int irq = platform_get_irq_byname(pdev, "mc"); > - int status; > struct resource *iomem; > void __iomem *base; > > @@ -2022,24 +2021,19 @@ static int musb_probe(struct platform_device *pdev) > if (!iomem || irq <= 0) > return -ENODEV; > > - base = ioremap(iomem->start, resource_size(iomem)); > + base = devm_ioremap_resource(dev, iomem); devm_ioremap_resource() is not in mainline yet, AFAIK. Maybe we should call devm_request_mem_region() in the glue layers instead? I'm preparing a patch that will only pass MUSB register subrange to the MUSB core from the glue layers (have long promised it but musbhsdma.c part turned out to be not ready for prime time and I have to find a time to finish it). > if (!base) { devm_ioremap_resource() returns error pointer, not NULL, AFAIR. > dev_err(dev, "ioremap failed\n"); devm_ioremap_resource() prints the error message itself. > return -ENOMEM; You should pass up what devm_ioremap_resource() returned. WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html