| From d80fa6bee8ef019c02e7389e1ca88604938990b1 Mon Sep 17 00:00:00 2001 |
| From: Himangi Saraogi <himangi774@gmail.com> |
| Date: Fri, 20 Jun 2014 23:11:23 +0530 |
| Subject: usb: host: xhci-plat: use devm_functions |
| |
| This patch introduces the use of managed interface devm_ioremap_resource |
| for ioremap_nocache and request_mem_region and removes the corresponding |
| free functions in the probe and remove functions. |
| |
| Signed-off-by: Himangi Saraogi <himangi774@gmail.com> |
| Acked-by: Julia Lawall <julia.lawall@lip6.fr> |
| Reviewed-by: Felipe Balbi <balbi@ti.com> |
| Acked-by: Felipe Balbi <balbi@ti.com> |
| Cc: Mathias Nyman <mathias.nyman@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit fd666348c51f6ab66410c98a149e0418b9a258f0) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/usb/host/xhci-plat.c | 24 ++++-------------------- |
| 1 file changed, 4 insertions(+), 20 deletions(-) |
| |
| diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c |
| index e41e4b476ee3..5cb5de1ee766 100644 |
| --- a/drivers/usb/host/xhci-plat.c |
| +++ b/drivers/usb/host/xhci-plat.c |
| @@ -146,20 +146,12 @@ static int xhci_plat_probe(struct platform_device *pdev) |
| hcd->rsrc_start = res->start; |
| hcd->rsrc_len = resource_size(res); |
| |
| - if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, |
| - driver->description)) { |
| - dev_dbg(&pdev->dev, "controller already in use\n"); |
| - ret = -EBUSY; |
| + hcd->regs = devm_ioremap_resource(&pdev->dev, res); |
| + if (IS_ERR(hcd->regs)) { |
| + ret = PTR_ERR(hcd->regs); |
| goto put_hcd; |
| } |
| |
| - hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len); |
| - if (!hcd->regs) { |
| - dev_dbg(&pdev->dev, "error mapping memory\n"); |
| - ret = -EFAULT; |
| - goto release_mem_region; |
| - } |
| - |
| /* |
| * Not all platforms have a clk so it is not an error if the |
| * clock does not exists. |
| @@ -168,7 +160,7 @@ static int xhci_plat_probe(struct platform_device *pdev) |
| if (!IS_ERR(clk)) { |
| ret = clk_prepare_enable(clk); |
| if (ret) |
| - goto unmap_registers; |
| + goto put_hcd; |
| } |
| |
| ret = usb_add_hcd(hcd, irq, IRQF_SHARED); |
| @@ -213,12 +205,6 @@ disable_clk: |
| if (!IS_ERR(clk)) |
| clk_disable_unprepare(clk); |
| |
| -unmap_registers: |
| - iounmap(hcd->regs); |
| - |
| -release_mem_region: |
| - release_mem_region(hcd->rsrc_start, hcd->rsrc_len); |
| - |
| put_hcd: |
| usb_put_hcd(hcd); |
| |
| @@ -237,8 +223,6 @@ static int xhci_plat_remove(struct platform_device *dev) |
| usb_remove_hcd(hcd); |
| if (!IS_ERR(clk)) |
| clk_disable_unprepare(clk); |
| - iounmap(hcd->regs); |
| - release_mem_region(hcd->rsrc_start, hcd->rsrc_len); |
| usb_put_hcd(hcd); |
| kfree(xhci); |
| |
| -- |
| 2.1.2 |
| |