diff options
| author | 2014-11-19 21:32:12 +1100 | |
|---|---|---|
| committer | 2014-11-19 21:32:12 +1100 | |
| commit | b10778a00d40b3d9fdaaf5891e802794781ff71c (patch) | |
| tree | 6ba4cbac86eecedc3f30650e7f764ecf00c83898 /drivers/usb/host/uhci-platform.c | |
| parent | integrity: do zero padding of the key id (diff) | |
| parent | Linux 3.17 (diff) | |
| download | wireguard-linux-b10778a00d40b3d9fdaaf5891e802794781ff71c.tar.xz wireguard-linux-b10778a00d40b3d9fdaaf5891e802794781ff71c.zip | |
Merge commit 'v3.17' into next
Diffstat (limited to '')
| -rw-r--r-- | drivers/usb/host/uhci-platform.c | 22 | 
1 files changed, 5 insertions, 17 deletions
| diff --git a/drivers/usb/host/uhci-platform.c b/drivers/usb/host/uhci-platform.c index 01833ab2b5c3..b987f1d10058 100644 --- a/drivers/usb/host/uhci-platform.c +++ b/drivers/usb/host/uhci-platform.c @@ -8,6 +8,7 @@   */  #include <linux/of.h> +#include <linux/device.h>  #include <linux/platform_device.h>  static int uhci_platform_init(struct usb_hcd *hcd) @@ -88,33 +89,22 @@ static int uhci_hcd_platform_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, hcd_name)) { -		pr_err("%s: request_mem_region failed\n", __func__); -		ret = -EBUSY; +	hcd->regs = devm_ioremap_resource(&pdev->dev, res); +	if (IS_ERR(hcd->regs)) { +		ret = PTR_ERR(hcd->regs);  		goto err_rmr;  	} - -	hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); -	if (!hcd->regs) { -		pr_err("%s: ioremap failed\n", __func__); -		ret = -ENOMEM; -		goto err_irq; -	}  	uhci = hcd_to_uhci(hcd);  	uhci->regs = hcd->regs;  	ret = usb_add_hcd(hcd, pdev->resource[1].start, IRQF_SHARED);  	if (ret) -		goto err_uhci; +		goto err_rmr;  	device_wakeup_enable(hcd->self.controller);  	return 0; -err_uhci: -	iounmap(hcd->regs); -err_irq: -	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);  err_rmr:  	usb_put_hcd(hcd); @@ -126,8 +116,6 @@ static int uhci_hcd_platform_remove(struct platform_device *pdev)  	struct usb_hcd *hcd = platform_get_drvdata(pdev);  	usb_remove_hcd(hcd); -	iounmap(hcd->regs); -	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);  	usb_put_hcd(hcd);  	return 0; | 
