usb: host: ehci-tegra: Use devm_ioremap_resource instead of devm_ioremap
authorVivek Gautam <gautam.vivek@samsung.com>
Sat, 10 May 2014 12:00:09 +0000 (17:30 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 May 2014 21:52:29 +0000 (14:52 -0700)
Using devm_ioremap_resource() API should actually be preferred over
devm_ioremap(), since the former request the mem region first and then
gives back the ioremap'ed memory pointer.
devm_ioremap_resource() calls request_mem_region(), therby preventing
other drivers to make any overlapping call to the same region.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-tegra.c

index 572634cd95d61f4ba11c96b7e1247964ff2b6e1d..6fdcb8ad22968865c8287830f86d27a4d3f316cc 100644 (file)
@@ -411,10 +411,9 @@ static int tegra_ehci_probe(struct platform_device *pdev)
        }
        hcd->rsrc_start = res->start;
        hcd->rsrc_len = resource_size(res);
-       hcd->regs = devm_ioremap(&pdev->dev, res->start, resource_size(res));
-       if (!hcd->regs) {
-               dev_err(&pdev->dev, "Failed to remap I/O memory\n");
-               err = -ENOMEM;
+       hcd->regs = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(hcd->regs)) {
+               err = PTR_ERR(hcd->regs);
                goto cleanup_clk_en;
        }
        ehci->caps = hcd->regs + 0x100;