aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 15:05:51 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 15:05:51 -0500
commit06991c28f37ad68e5c03777f5c3b679b56e3dac1 (patch)
tree4be75788e21c3c644fe6d39abf47693a171cf4f8 /drivers/usb
parent460dc1eecf37263c8e3b17685ef236f0d236facb (diff)
parent74fef7a8fd1d2bd94f925d6638bb4c3049e7c381 (diff)
Merge tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core patches from Greg Kroah-Hartman: "Here is the big driver core merge for 3.9-rc1 There are two major series here, both of which touch lots of drivers all over the kernel, and will cause you some merge conflicts: - add a new function called devm_ioremap_resource() to properly be able to check return values. - remove CONFIG_EXPERIMENTAL Other than those patches, there's not much here, some minor fixes and updates" Fix up trivial conflicts * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits) base: memory: fix soft/hard_offline_page permissions drivercore: Fix ordering between deferred_probe and exiting initcalls backlight: fix class_find_device() arguments TTY: mark tty_get_device call with the proper const values driver-core: constify data for class_find_device() firmware: Ignore abort check when no user-helper is used firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER firmware: Make user-mode helper optional firmware: Refactoring for splitting user-mode helper code Driver core: treat unregistered bus_types as having no devices watchdog: Convert to devm_ioremap_resource() thermal: Convert to devm_ioremap_resource() spi: Convert to devm_ioremap_resource() power: Convert to devm_ioremap_resource() mtd: Convert to devm_ioremap_resource() mmc: Convert to devm_ioremap_resource() mfd: Convert to devm_ioremap_resource() media: Convert to devm_ioremap_resource() iommu: Convert to devm_ioremap_resource() drm: Convert to devm_ioremap_resource() ...
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/chipidea/usbmisc_imx6q.c6
-rw-r--r--drivers/usb/gadget/at91_udc.c12
-rw-r--r--drivers/usb/gadget/atmel_usba_udc.c12
-rw-r--r--drivers/usb/gadget/bcm63xx_udc.c13
-rw-r--r--drivers/usb/gadget/fusb300_udc.c13
-rw-r--r--drivers/usb/gadget/imx_udc.c12
-rw-r--r--drivers/usb/gadget/lpc32xx_udc.c12
-rw-r--r--drivers/usb/gadget/m66592-udc.c12
-rw-r--r--drivers/usb/gadget/pxa25x_udc.c15
-rw-r--r--drivers/usb/gadget/r8a66597-udc.c15
-rw-r--r--drivers/usb/gadget/s3c-hsotg.c7
-rw-r--r--drivers/usb/gadget/s3c-hsudc.c7
-rw-r--r--drivers/usb/host/ehci-atmel.c7
-rw-r--r--drivers/usb/host/ehci-grlib.c9
-rw-r--r--drivers/usb/host/ehci-mxc.c7
-rw-r--r--drivers/usb/host/ehci-platform.c7
-rw-r--r--drivers/usb/host/ehci-ppc-of.c8
-rw-r--r--drivers/usb/host/ehci-sead3.c8
-rw-r--r--drivers/usb/host/ehci-sh.c7
-rw-r--r--drivers/usb/host/ehci-vt8500.c8
-rw-r--r--drivers/usb/host/ehci-xilinx-of.c8
-rw-r--r--drivers/usb/host/ohci-nxp.c7
-rw-r--r--drivers/usb/host/ohci-platform.c7
-rw-r--r--drivers/usb/host/ohci-s3c2410.c7
-rw-r--r--drivers/usb/musb/musb_dsps.c7
-rw-r--r--drivers/usb/musb/omap2430.c4
-rw-r--r--drivers/usb/otg/gpio_vbus.c12
-rw-r--r--drivers/usb/otg/msm_otg.c13
-rw-r--r--drivers/usb/otg/mxs-phy.c6
-rw-r--r--drivers/usb/phy/mv_u3d_phy.c8
-rw-r--r--drivers/usb/phy/omap-usb2.c8
-rw-r--r--drivers/usb/renesas_usbhs/common.c9
32 files changed, 89 insertions, 204 deletions
diff --git a/drivers/usb/chipidea/usbmisc_imx6q.c b/drivers/usb/chipidea/usbmisc_imx6q.c
index 845efe29e6b9..a1bce391e825 100644
--- a/drivers/usb/chipidea/usbmisc_imx6q.c
+++ b/drivers/usb/chipidea/usbmisc_imx6q.c
@@ -98,9 +98,9 @@ static int usbmisc_imx6q_probe(struct platform_device *pdev)
98 spin_lock_init(&data->lock); 98 spin_lock_init(&data->lock);
99 99
100 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 100 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
101 data->base = devm_request_and_ioremap(&pdev->dev, res); 101 data->base = devm_ioremap_resource(&pdev->dev, res);
102 if (!data->base) 102 if (IS_ERR(data->base))
103 return -EADDRNOTAVAIL; 103 return PTR_ERR(data->base);
104 104
105 data->clk = devm_clk_get(&pdev->dev, NULL); 105 data->clk = devm_clk_get(&pdev->dev, NULL);
106 if (IS_ERR(data->clk)) { 106 if (IS_ERR(data->clk)) {
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index f4a21f6f081f..0143ffa4e409 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1982,17 +1982,7 @@ static struct platform_driver at91_udc_driver = {
1982 }, 1982 },
1983}; 1983};
1984 1984
1985static int __init udc_init_module(void) 1985module_platform_driver_probe(at91_udc_driver, at91udc_probe);
1986{
1987 return platform_driver_probe(&at91_udc_driver, at91udc_probe);
1988}
1989module_init(udc_init_module);
1990
1991static void __exit udc_exit_module(void)
1992{
1993 platform_driver_unregister(&at91_udc_driver);
1994}
1995module_exit(udc_exit_module);
1996 1986
1997MODULE_DESCRIPTION("AT91 udc driver"); 1987MODULE_DESCRIPTION("AT91 udc driver");
1998MODULE_AUTHOR("Thomas Rathbone, David Brownell"); 1988MODULE_AUTHOR("Thomas Rathbone, David Brownell");
diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index a7aed84d98c9..bc19496bcec0 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -2066,17 +2066,7 @@ static struct platform_driver udc_driver = {
2066 }, 2066 },
2067}; 2067};
2068 2068
2069static int __init udc_init(void) 2069module_platform_driver_probe(udc_driver, usba_udc_probe);
2070{
2071 return platform_driver_probe(&udc_driver, usba_udc_probe);
2072}
2073module_init(udc_init);
2074
2075static void __exit udc_exit(void)
2076{
2077 platform_driver_unregister(&udc_driver);
2078}
2079module_exit(udc_exit);
2080 2070
2081MODULE_DESCRIPTION("Atmel USBA UDC driver"); 2071MODULE_DESCRIPTION("Atmel USBA UDC driver");
2082MODULE_AUTHOR("Haavard Skinnemoen (Atmel)"); 2072MODULE_AUTHOR("Haavard Skinnemoen (Atmel)");
diff --git a/drivers/usb/gadget/bcm63xx_udc.c b/drivers/usb/gadget/bcm63xx_udc.c
index 47a49931361e..8cc8253f1100 100644
--- a/drivers/usb/gadget/bcm63xx_udc.c
+++ b/drivers/usb/gadget/bcm63xx_udc.c
@@ -2351,19 +2351,20 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
2351 dev_err(dev, "error finding USBD resource\n"); 2351 dev_err(dev, "error finding USBD resource\n");
2352 return -ENXIO; 2352 return -ENXIO;
2353 } 2353 }
2354 udc->usbd_regs = devm_request_and_ioremap(dev, res); 2354
2355 udc->usbd_regs = devm_ioremap_resource(dev, res);
2356 if (IS_ERR(udc->usbd_regs))
2357 return PTR_ERR(udc->usbd_regs);
2355 2358
2356 res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 2359 res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
2357 if (!res) { 2360 if (!res) {
2358 dev_err(dev, "error finding IUDMA resource\n"); 2361 dev_err(dev, "error finding IUDMA resource\n");
2359 return -ENXIO; 2362 return -ENXIO;
2360 } 2363 }
2361 udc->iudma_regs = devm_request_and_ioremap(dev, res);
2362 2364
2363 if (!udc->usbd_regs || !udc->iudma_regs) { 2365 udc->iudma_regs = devm_ioremap_resource(dev, res);
2364 dev_err(dev, "error requesting resources\n"); 2366 if (IS_ERR(udc->iudma_regs))
2365 return -ENXIO; 2367 return PTR_ERR(udc->iudma_regs);
2366 }
2367 2368
2368 spin_lock_init(&udc->lock); 2369 spin_lock_init(&udc->lock);
2369 INIT_WORK(&udc->ep0_wq, bcm63xx_ep0_process); 2370 INIT_WORK(&udc->ep0_wq, bcm63xx_ep0_process);
diff --git a/drivers/usb/gadget/fusb300_udc.c b/drivers/usb/gadget/fusb300_udc.c
index 72cd5e6719db..fc7cb09ab52b 100644
--- a/drivers/usb/gadget/fusb300_udc.c
+++ b/drivers/usb/gadget/fusb300_udc.c
@@ -1547,15 +1547,4 @@ static struct platform_driver fusb300_driver = {
1547 }, 1547 },
1548}; 1548};
1549 1549
1550static int __init fusb300_udc_init(void) 1550module_platform_driver_probe(fusb300_driver, fusb300_probe);
1551{
1552 return platform_driver_probe(&fusb300_driver, fusb300_probe);
1553}
1554
1555module_init(fusb300_udc_init);
1556
1557static void __exit fusb300_udc_cleanup(void)
1558{
1559 platform_driver_unregister(&fusb300_driver);
1560}
1561module_exit(fusb300_udc_cleanup);
diff --git a/drivers/usb/gadget/imx_udc.c b/drivers/usb/gadget/imx_udc.c
index a0eb85794fd4..8efd7555fa21 100644
--- a/drivers/usb/gadget/imx_udc.c
+++ b/drivers/usb/gadget/imx_udc.c
@@ -1556,17 +1556,7 @@ static struct platform_driver udc_driver = {
1556 .resume = imx_udc_resume, 1556 .resume = imx_udc_resume,
1557}; 1557};
1558 1558
1559static int __init udc_init(void) 1559module_platform_driver_probe(udc_driver, imx_udc_probe);
1560{
1561 return platform_driver_probe(&udc_driver, imx_udc_probe);
1562}
1563module_init(udc_init);
1564
1565static void __exit udc_exit(void)
1566{
1567 platform_driver_unregister(&udc_driver);
1568}
1569module_exit(udc_exit);
1570 1560
1571MODULE_DESCRIPTION("IMX USB Device Controller driver"); 1561MODULE_DESCRIPTION("IMX USB Device Controller driver");
1572MODULE_AUTHOR("Darius Augulis <augulis.darius@gmail.com>"); 1562MODULE_AUTHOR("Darius Augulis <augulis.darius@gmail.com>");
diff --git a/drivers/usb/gadget/lpc32xx_udc.c b/drivers/usb/gadget/lpc32xx_udc.c
index dd1c9b1fe528..aa04089d6899 100644
--- a/drivers/usb/gadget/lpc32xx_udc.c
+++ b/drivers/usb/gadget/lpc32xx_udc.c
@@ -3458,17 +3458,7 @@ static struct platform_driver lpc32xx_udc_driver = {
3458 }, 3458 },
3459}; 3459};
3460 3460
3461static int __init udc_init_module(void) 3461module_platform_driver_probe(lpc32xx_udc_driver, lpc32xx_udc_probe);
3462{
3463 return platform_driver_probe(&lpc32xx_udc_driver, lpc32xx_udc_probe);
3464}
3465module_init(udc_init_module);
3466
3467static void __exit udc_exit_module(void)
3468{
3469 platform_driver_unregister(&lpc32xx_udc_driver);
3470}
3471module_exit(udc_exit_module);
3472 3462
3473MODULE_DESCRIPTION("LPC32XX udc driver"); 3463MODULE_DESCRIPTION("LPC32XX udc driver");
3474MODULE_AUTHOR("Kevin Wells <kevin.wells@nxp.com>"); 3464MODULE_AUTHOR("Kevin Wells <kevin.wells@nxp.com>");
diff --git a/drivers/usb/gadget/m66592-udc.c b/drivers/usb/gadget/m66592-udc.c
index b6401f1b56ce..dfce0cfe4e6f 100644
--- a/drivers/usb/gadget/m66592-udc.c
+++ b/drivers/usb/gadget/m66592-udc.c
@@ -1753,14 +1753,4 @@ static struct platform_driver m66592_driver = {
1753 }, 1753 },
1754}; 1754};
1755 1755
1756static int __init m66592_udc_init(void) 1756module_platform_driver_probe(m66592_driver, m66592_probe);
1757{
1758 return platform_driver_probe(&m66592_driver, m66592_probe);
1759}
1760module_init(m66592_udc_init);
1761
1762static void __exit m66592_udc_cleanup(void)
1763{
1764 platform_driver_unregister(&m66592_driver);
1765}
1766module_exit(m66592_udc_cleanup);
diff --git a/drivers/usb/gadget/pxa25x_udc.c b/drivers/usb/gadget/pxa25x_udc.c
index d4ca9f1f7f24..d52e869ce202 100644
--- a/drivers/usb/gadget/pxa25x_udc.c
+++ b/drivers/usb/gadget/pxa25x_udc.c
@@ -2100,6 +2100,8 @@ static int __init pxa25x_udc_probe(struct platform_device *pdev)
2100 int retval, irq; 2100 int retval, irq;
2101 u32 chiprev; 2101 u32 chiprev;
2102 2102
2103 pr_info("%s: version %s\n", driver_name, DRIVER_VERSION);
2104
2103 /* insist on Intel/ARM/XScale */ 2105 /* insist on Intel/ARM/XScale */
2104 asm("mrc%? p15, 0, %0, c0, c0" : "=r" (chiprev)); 2106 asm("mrc%? p15, 0, %0, c0, c0" : "=r" (chiprev));
2105 if ((chiprev & CP15R0_VENDOR_MASK) != CP15R0_XSCALE_VALUE) { 2107 if ((chiprev & CP15R0_VENDOR_MASK) != CP15R0_XSCALE_VALUE) {
@@ -2346,18 +2348,7 @@ static struct platform_driver udc_driver = {
2346 }, 2348 },
2347}; 2349};
2348 2350
2349static int __init udc_init(void) 2351module_platform_driver_probe(udc_driver, pxa25x_udc_probe);
2350{
2351 pr_info("%s: version %s\n", driver_name, DRIVER_VERSION);
2352 return platform_driver_probe(&udc_driver, pxa25x_udc_probe);
2353}
2354module_init(udc_init);
2355
2356static void __exit udc_exit(void)
2357{
2358 platform_driver_unregister(&udc_driver);
2359}
2360module_exit(udc_exit);
2361 2352
2362MODULE_DESCRIPTION(DRIVER_DESC); 2353MODULE_DESCRIPTION(DRIVER_DESC);
2363MODULE_AUTHOR("Frank Becker, Robert Schwebel, David Brownell"); 2354MODULE_AUTHOR("Frank Becker, Robert Schwebel, David Brownell");
diff --git a/drivers/usb/gadget/r8a66597-udc.c b/drivers/usb/gadget/r8a66597-udc.c
index 5a80751accb7..9a9fadd9095f 100644
--- a/drivers/usb/gadget/r8a66597-udc.c
+++ b/drivers/usb/gadget/r8a66597-udc.c
@@ -2031,21 +2031,10 @@ static struct platform_driver r8a66597_driver = {
2031 .name = (char *) udc_name, 2031 .name = (char *) udc_name,
2032 }, 2032 },
2033}; 2033};
2034MODULE_ALIAS("platform:r8a66597_udc");
2035
2036static int __init r8a66597_udc_init(void)
2037{
2038 return platform_driver_probe(&r8a66597_driver, r8a66597_probe);
2039}
2040module_init(r8a66597_udc_init);
2041 2034
2042static void __exit r8a66597_udc_cleanup(void) 2035module_platform_driver_probe(r8a66597_driver, r8a66597_probe);
2043{
2044 platform_driver_unregister(&r8a66597_driver);
2045}
2046module_exit(r8a66597_udc_cleanup);
2047 2036
2048MODULE_DESCRIPTION("R8A66597 USB gadget driver"); 2037MODULE_DESCRIPTION("R8A66597 USB gadget driver");
2049MODULE_LICENSE("GPL"); 2038MODULE_LICENSE("GPL");
2050MODULE_AUTHOR("Yoshihiro Shimoda"); 2039MODULE_AUTHOR("Yoshihiro Shimoda");
2051 2040MODULE_ALIAS("platform:r8a66597_udc");
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index 439c3f972f8c..de80fa644b5a 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -3525,10 +3525,9 @@ static int s3c_hsotg_probe(struct platform_device *pdev)
3525 3525
3526 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 3526 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
3527 3527
3528 hsotg->regs = devm_request_and_ioremap(&pdev->dev, res); 3528 hsotg->regs = devm_ioremap_resource(&pdev->dev, res);
3529 if (!hsotg->regs) { 3529 if (IS_ERR(hsotg->regs)) {
3530 dev_err(dev, "cannot map registers\n"); 3530 ret = PTR_ERR(hsotg->regs);
3531 ret = -ENXIO;
3532 goto err_clk; 3531 goto err_clk;
3533 } 3532 }
3534 3533
diff --git a/drivers/usb/gadget/s3c-hsudc.c b/drivers/usb/gadget/s3c-hsudc.c
index 52379b11f080..94ca33bb990b 100644
--- a/drivers/usb/gadget/s3c-hsudc.c
+++ b/drivers/usb/gadget/s3c-hsudc.c
@@ -1295,10 +1295,9 @@ static int s3c_hsudc_probe(struct platform_device *pdev)
1295 1295
1296 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1296 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1297 1297
1298 hsudc->regs = devm_request_and_ioremap(&pdev->dev, res); 1298 hsudc->regs = devm_ioremap_resource(&pdev->dev, res);
1299 if (!hsudc->regs) { 1299 if (IS_ERR(hsudc->regs)) {
1300 dev_err(dev, "error mapping device register area\n"); 1300 ret = PTR_ERR(hsudc->regs);
1301 ret = -EBUSY;
1302 goto err_res; 1301 goto err_res;
1303 } 1302 }
1304 1303
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index 27639487f7ac..f3beac4d06b8 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -143,10 +143,9 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
143 hcd->rsrc_start = res->start; 143 hcd->rsrc_start = res->start;
144 hcd->rsrc_len = resource_size(res); 144 hcd->rsrc_len = resource_size(res);
145 145
146 hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 146 hcd->regs = devm_ioremap_resource(&pdev->dev, res);
147 if (hcd->regs == NULL) { 147 if (IS_ERR(hcd->regs)) {
148 dev_dbg(&pdev->dev, "error mapping memory\n"); 148 retval = PTR_ERR(hcd->regs);
149 retval = -EFAULT;
150 goto fail_request_resource; 149 goto fail_request_resource;
151 } 150 }
152 151
diff --git a/drivers/usb/host/ehci-grlib.c b/drivers/usb/host/ehci-grlib.c
index 1fc89292f5d6..5d75de9729b6 100644
--- a/drivers/usb/host/ehci-grlib.c
+++ b/drivers/usb/host/ehci-grlib.c
@@ -25,7 +25,7 @@
25 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 25 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 */ 26 */
27 27
28 28#include <linux/err.h>
29#include <linux/signal.h> 29#include <linux/signal.h>
30 30
31#include <linux/of_irq.h> 31#include <linux/of_irq.h>
@@ -118,10 +118,9 @@ static int ehci_hcd_grlib_probe(struct platform_device *op)
118 goto err_irq; 118 goto err_irq;
119 } 119 }
120 120
121 hcd->regs = devm_request_and_ioremap(&op->dev, &res); 121 hcd->regs = devm_ioremap_resource(&op->dev, &res);
122 if (!hcd->regs) { 122 if (IS_ERR(hcd->regs)) {
123 pr_err("%s: devm_request_and_ioremap failed\n", __FILE__); 123 rv = PTR_ERR(hcd->regs);
124 rv = -ENOMEM;
125 goto err_ioremap; 124 goto err_ioremap;
126 } 125 }
127 126
diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c
index dedb80bb8d40..e2004de6ad3d 100644
--- a/drivers/usb/host/ehci-mxc.c
+++ b/drivers/usb/host/ehci-mxc.c
@@ -85,10 +85,9 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
85 hcd->rsrc_start = res->start; 85 hcd->rsrc_start = res->start;
86 hcd->rsrc_len = resource_size(res); 86 hcd->rsrc_len = resource_size(res);
87 87
88 hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 88 hcd->regs = devm_ioremap_resource(&pdev->dev, res);
89 if (!hcd->regs) { 89 if (IS_ERR(hcd->regs)) {
90 dev_err(dev, "error mapping memory\n"); 90 ret = PTR_ERR(hcd->regs);
91 ret = -EFAULT;
92 goto err_alloc; 91 goto err_alloc;
93 } 92 }
94 93
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index 58fa0c90c7c7..ca7506390542 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -18,6 +18,7 @@
18 * 18 *
19 * Licensed under the GNU/GPL. See COPYING for details. 19 * Licensed under the GNU/GPL. See COPYING for details.
20 */ 20 */
21#include <linux/err.h>
21#include <linux/kernel.h> 22#include <linux/kernel.h>
22#include <linux/hrtimer.h> 23#include <linux/hrtimer.h>
23#include <linux/io.h> 24#include <linux/io.h>
@@ -104,9 +105,9 @@ static int ehci_platform_probe(struct platform_device *dev)
104 hcd->rsrc_start = res_mem->start; 105 hcd->rsrc_start = res_mem->start;
105 hcd->rsrc_len = resource_size(res_mem); 106 hcd->rsrc_len = resource_size(res_mem);
106 107
107 hcd->regs = devm_request_and_ioremap(&dev->dev, res_mem); 108 hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
108 if (!hcd->regs) { 109 if (IS_ERR(hcd->regs)) {
109 err = -ENOMEM; 110 err = PTR_ERR(hcd->regs);
110 goto err_put_hcd; 111 goto err_put_hcd;
111 } 112 }
112 err = usb_add_hcd(hcd, irq, IRQF_SHARED); 113 err = usb_add_hcd(hcd, irq, IRQF_SHARED);
diff --git a/drivers/usb/host/ehci-ppc-of.c b/drivers/usb/host/ehci-ppc-of.c
index 45aceefd0c2b..56dc732bf451 100644
--- a/drivers/usb/host/ehci-ppc-of.c
+++ b/drivers/usb/host/ehci-ppc-of.c
@@ -12,6 +12,7 @@
12 * This file is licenced under the GPL. 12 * This file is licenced under the GPL.
13 */ 13 */
14 14
15#include <linux/err.h>
15#include <linux/signal.h> 16#include <linux/signal.h>
16 17
17#include <linux/of.h> 18#include <linux/of.h>
@@ -121,10 +122,9 @@ static int ehci_hcd_ppc_of_probe(struct platform_device *op)
121 goto err_irq; 122 goto err_irq;
122 } 123 }
123 124
124 hcd->regs = devm_request_and_ioremap(&op->dev, &res); 125 hcd->regs = devm_ioremap_resource(&op->dev, &res);
125 if (!hcd->regs) { 126 if (IS_ERR(hcd->regs)) {
126 pr_err("%s: devm_request_and_ioremap failed\n", __FILE__); 127 rv = PTR_ERR(hcd->regs);
127 rv = -ENOMEM;
128 goto err_ioremap; 128 goto err_ioremap;
129 } 129 }
130 130
diff --git a/drivers/usb/host/ehci-sead3.c b/drivers/usb/host/ehci-sead3.c
index efad02d947f2..f55477c5a1be 100644
--- a/drivers/usb/host/ehci-sead3.c
+++ b/drivers/usb/host/ehci-sead3.c
@@ -19,6 +19,7 @@
19 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */ 20 */
21 21
22#include <linux/err.h>
22#include <linux/platform_device.h> 23#include <linux/platform_device.h>
23 24
24static int ehci_sead3_setup(struct usb_hcd *hcd) 25static int ehci_sead3_setup(struct usb_hcd *hcd)
@@ -112,10 +113,9 @@ static int ehci_hcd_sead3_drv_probe(struct platform_device *pdev)
112 hcd->rsrc_start = res->start; 113 hcd->rsrc_start = res->start;
113 hcd->rsrc_len = resource_size(res); 114 hcd->rsrc_len = resource_size(res);
114 115
115 hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 116 hcd->regs = devm_ioremap_resource(&pdev->dev, res);
116 if (!hcd->regs) { 117 if (IS_ERR(hcd->regs)) {
117 pr_debug("ioremap failed"); 118 ret = PTR_ERR(hcd->regs);
118 ret = -ENOMEM;
119 goto err1; 119 goto err1;
120 } 120 }
121 121
diff --git a/drivers/usb/host/ehci-sh.c b/drivers/usb/host/ehci-sh.c
index 0c90a24fa989..3565a300f401 100644
--- a/drivers/usb/host/ehci-sh.c
+++ b/drivers/usb/host/ehci-sh.c
@@ -118,10 +118,9 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev)
118 hcd->rsrc_start = res->start; 118 hcd->rsrc_start = res->start;
119 hcd->rsrc_len = resource_size(res); 119 hcd->rsrc_len = resource_size(res);
120 120
121 hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 121 hcd->regs = devm_ioremap_resource(&pdev->dev, res);
122 if (hcd->regs == NULL) { 122 if (IS_ERR(hcd->regs)) {
123 dev_dbg(&pdev->dev, "error mapping memory\n"); 123 ret = PTR_ERR(hcd->regs);
124 ret = -ENXIO;
125 goto fail_request_resource; 124 goto fail_request_resource;
126 } 125 }
127 126
diff --git a/drivers/usb/host/ehci-vt8500.c b/drivers/usb/host/ehci-vt8500.c
index 11695d5b9d86..7ecf709610ba 100644
--- a/drivers/usb/host/ehci-vt8500.c
+++ b/drivers/usb/host/ehci-vt8500.c
@@ -16,6 +16,7 @@
16 * 16 *
17 */ 17 */
18 18
19#include <linux/err.h>
19#include <linux/of.h> 20#include <linux/of.h>
20#include <linux/platform_device.h> 21#include <linux/platform_device.h>
21 22
@@ -96,10 +97,9 @@ static int vt8500_ehci_drv_probe(struct platform_device *pdev)
96 hcd->rsrc_start = res->start; 97 hcd->rsrc_start = res->start;
97 hcd->rsrc_len = resource_size(res); 98 hcd->rsrc_len = resource_size(res);
98 99
99 hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 100 hcd->regs = devm_ioremap_resource(&pdev->dev, res);
100 if (!hcd->regs) { 101 if (IS_ERR(hcd->regs)) {
101 pr_debug("ioremap failed"); 102 ret = PTR_ERR(hcd->regs);
102 ret = -ENOMEM;
103 goto err1; 103 goto err1;
104 } 104 }
105 105
diff --git a/drivers/usb/host/ehci-xilinx-of.c b/drivers/usb/host/ehci-xilinx-of.c
index 4f285e8e404a..d845e3bcfaff 100644
--- a/drivers/usb/host/ehci-xilinx-of.c
+++ b/drivers/usb/host/ehci-xilinx-of.c
@@ -25,6 +25,7 @@
25 * 25 *
26 */ 26 */
27 27
28#include <linux/err.h>
28#include <linux/signal.h> 29#include <linux/signal.h>
29 30
30#include <linux/of.h> 31#include <linux/of.h>
@@ -159,10 +160,9 @@ static int ehci_hcd_xilinx_of_probe(struct platform_device *op)
159 goto err_irq; 160 goto err_irq;
160 } 161 }
161 162
162 hcd->regs = devm_request_and_ioremap(&op->dev, &res); 163 hcd->regs = devm_ioremap_resource(&op->dev, &res);
163 if (!hcd->regs) { 164 if (IS_ERR(hcd->regs)) {
164 pr_err("%s: devm_request_and_ioremap failed\n", __FILE__); 165 rv = PTR_ERR(hcd->regs);
165 rv = -ENOMEM;
166 goto err_irq; 166 goto err_irq;
167 } 167 }
168 168
diff --git a/drivers/usb/host/ohci-nxp.c b/drivers/usb/host/ohci-nxp.c
index 2344040c16d2..f4988fbe78e7 100644
--- a/drivers/usb/host/ohci-nxp.c
+++ b/drivers/usb/host/ohci-nxp.c
@@ -306,10 +306,9 @@ static int usb_hcd_nxp_probe(struct platform_device *pdev)
306 goto out8; 306 goto out8;
307 } 307 }
308 308
309 hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 309 hcd->regs = devm_ioremap_resource(&pdev->dev, res);
310 if (!hcd->regs) { 310 if (IS_ERR(hcd->regs)) {
311 dev_err(&pdev->dev, "Failed to devm_request_and_ioremap\n"); 311 ret = PTR_ERR(hcd->regs);
312 ret = -ENOMEM;
313 goto out8; 312 goto out8;
314 } 313 }
315 hcd->rsrc_start = res->start; 314 hcd->rsrc_start = res->start;
diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
index 084503b03fcf..c3e7287f7921 100644
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
@@ -13,6 +13,7 @@
13 * 13 *
14 * Licensed under the GNU/GPL. See COPYING for details. 14 * Licensed under the GNU/GPL. See COPYING for details.
15 */ 15 */
16#include <linux/err.h>
16#include <linux/platform_device.h> 17#include <linux/platform_device.h>
17#include <linux/usb/ohci_pdriver.h> 18#include <linux/usb/ohci_pdriver.h>
18 19
@@ -127,9 +128,9 @@ static int ohci_platform_probe(struct platform_device *dev)
127 hcd->rsrc_start = res_mem->start; 128 hcd->rsrc_start = res_mem->start;
128 hcd->rsrc_len = resource_size(res_mem); 129 hcd->rsrc_len = resource_size(res_mem);
129 130
130 hcd->regs = devm_request_and_ioremap(&dev->dev, res_mem); 131 hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
131 if (!hcd->regs) { 132 if (IS_ERR(hcd->regs)) {
132 err = -ENOMEM; 133 err = PTR_ERR(hcd->regs);
133 goto err_put_hcd; 134 goto err_put_hcd;
134 } 135 }
135 err = usb_add_hcd(hcd, irq, IRQF_SHARED); 136 err = usb_add_hcd(hcd, irq, IRQF_SHARED);
diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
index ad0f55269603..e125770b893c 100644
--- a/drivers/usb/host/ohci-s3c2410.c
+++ b/drivers/usb/host/ohci-s3c2410.c
@@ -351,10 +351,9 @@ static int usb_hcd_s3c2410_probe(const struct hc_driver *driver,
351 hcd->rsrc_start = dev->resource[0].start; 351 hcd->rsrc_start = dev->resource[0].start;
352 hcd->rsrc_len = resource_size(&dev->resource[0]); 352 hcd->rsrc_len = resource_size(&dev->resource[0]);
353 353
354 hcd->regs = devm_request_and_ioremap(&dev->dev, &dev->resource[0]); 354 hcd->regs = devm_ioremap_resource(&dev->dev, &dev->resource[0]);
355 if (!hcd->regs) { 355 if (IS_ERR(hcd->regs)) {
356 dev_err(&dev->dev, "devm_request_and_ioremap failed\n"); 356 retval = PTR_ERR(hcd->regs);
357 retval = -ENOMEM;
358 goto err_put; 357 goto err_put;
359 } 358 }
360 359
diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
index f7d764de6fda..99f470d26a38 100644
--- a/drivers/usb/musb/musb_dsps.c
+++ b/drivers/usb/musb/musb_dsps.c
@@ -500,10 +500,9 @@ static int dsps_create_musb_pdev(struct dsps_glue *glue, u8 id)
500 resources[0].end = resources[0].start + SZ_4 - 1; 500 resources[0].end = resources[0].start + SZ_4 - 1;
501 resources[0].flags = IORESOURCE_MEM; 501 resources[0].flags = IORESOURCE_MEM;
502 502
503 glue->usb_ctrl[id] = devm_request_and_ioremap(&pdev->dev, resources); 503 glue->usb_ctrl[id] = devm_ioremap_resource(&pdev->dev, resources);
504 if (glue->usb_ctrl[id] == NULL) { 504 if (IS_ERR(glue->usb_ctrl[id])) {
505 dev_err(dev, "Failed to obtain usb_ctrl%d memory\n", id); 505 ret = PTR_ERR(glue->usb_ctrl[id]);
506 ret = -ENODEV;
507 goto err0; 506 goto err0;
508 } 507 }
509 508
diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
index da00af460794..acd5f9d71d03 100644
--- a/drivers/usb/musb/omap2430.c
+++ b/drivers/usb/musb/omap2430.c
@@ -523,9 +523,7 @@ static int omap2430_probe(struct platform_device *pdev)
523 523
524 res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 524 res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
525 525
526 glue->control_otghs = devm_request_and_ioremap(&pdev->dev, res); 526 glue->control_otghs = devm_ioremap_resource(&pdev->dev, res);
527 if (glue->control_otghs == NULL)
528 dev_dbg(&pdev->dev, "Failed to obtain control memory\n");
529 527
530 if (np) { 528 if (np) {
531 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); 529 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
diff --git a/drivers/usb/otg/gpio_vbus.c b/drivers/usb/otg/gpio_vbus.c
index a67ffe22179a..a7d4ac591982 100644
--- a/drivers/usb/otg/gpio_vbus.c
+++ b/drivers/usb/otg/gpio_vbus.c
@@ -409,17 +409,7 @@ static struct platform_driver gpio_vbus_driver = {
409 .remove = __exit_p(gpio_vbus_remove), 409 .remove = __exit_p(gpio_vbus_remove),
410}; 410};
411 411
412static int __init gpio_vbus_init(void) 412module_platform_driver_probe(gpio_vbus_driver, gpio_vbus_probe);
413{
414 return platform_driver_probe(&gpio_vbus_driver, gpio_vbus_probe);
415}
416module_init(gpio_vbus_init);
417
418static void __exit gpio_vbus_exit(void)
419{
420 platform_driver_unregister(&gpio_vbus_driver);
421}
422module_exit(gpio_vbus_exit);
423 413
424MODULE_DESCRIPTION("simple GPIO controlled OTG transceiver driver"); 414MODULE_DESCRIPTION("simple GPIO controlled OTG transceiver driver");
425MODULE_AUTHOR("Philipp Zabel"); 415MODULE_AUTHOR("Philipp Zabel");
diff --git a/drivers/usb/otg/msm_otg.c b/drivers/usb/otg/msm_otg.c
index 3b9f0d951132..749fbf41fb6f 100644
--- a/drivers/usb/otg/msm_otg.c
+++ b/drivers/usb/otg/msm_otg.c
@@ -1756,18 +1756,7 @@ static struct platform_driver msm_otg_driver = {
1756 }, 1756 },
1757}; 1757};
1758 1758
1759static int __init msm_otg_init(void) 1759module_platform_driver_probe(msm_otg_driver, msm_otg_probe);
1760{
1761 return platform_driver_probe(&msm_otg_driver, msm_otg_probe);
1762}
1763
1764static void __exit msm_otg_exit(void)
1765{
1766 platform_driver_unregister(&msm_otg_driver);
1767}
1768
1769module_init(msm_otg_init);
1770module_exit(msm_otg_exit);
1771 1760
1772MODULE_LICENSE("GPL v2"); 1761MODULE_LICENSE("GPL v2");
1773MODULE_DESCRIPTION("MSM USB transceiver driver"); 1762MODULE_DESCRIPTION("MSM USB transceiver driver");
diff --git a/drivers/usb/otg/mxs-phy.c b/drivers/usb/otg/mxs-phy.c
index 76302720055a..60df28a294b7 100644
--- a/drivers/usb/otg/mxs-phy.c
+++ b/drivers/usb/otg/mxs-phy.c
@@ -115,9 +115,9 @@ static int mxs_phy_probe(struct platform_device *pdev)
115 return -ENOENT; 115 return -ENOENT;
116 } 116 }
117 117
118 base = devm_request_and_ioremap(&pdev->dev, res); 118 base = devm_ioremap_resource(&pdev->dev, res);
119 if (!base) 119 if (IS_ERR(base))
120 return -EBUSY; 120 return PTR_ERR(base);
121 121
122 clk = devm_clk_get(&pdev->dev, NULL); 122 clk = devm_clk_get(&pdev->dev, NULL);
123 if (IS_ERR(clk)) { 123 if (IS_ERR(clk)) {
diff --git a/drivers/usb/phy/mv_u3d_phy.c b/drivers/usb/phy/mv_u3d_phy.c
index eaddbe3d4304..9d8599122aa9 100644
--- a/drivers/usb/phy/mv_u3d_phy.c
+++ b/drivers/usb/phy/mv_u3d_phy.c
@@ -283,11 +283,9 @@ static int mv_u3d_phy_probe(struct platform_device *pdev)
283 return -ENODEV; 283 return -ENODEV;
284 } 284 }
285 285
286 phy_base = devm_request_and_ioremap(dev, res); 286 phy_base = devm_ioremap_resource(dev, res);
287 if (!phy_base) { 287 if (IS_ERR(phy_base))
288 dev_err(dev, "%s: register mapping failed\n", __func__); 288 return PTR_ERR(phy_base);
289 return -ENXIO;
290 }
291 289
292 mv_u3d_phy = devm_kzalloc(dev, sizeof(*mv_u3d_phy), GFP_KERNEL); 290 mv_u3d_phy = devm_kzalloc(dev, sizeof(*mv_u3d_phy), GFP_KERNEL);
293 if (!mv_u3d_phy) 291 if (!mv_u3d_phy)
diff --git a/drivers/usb/phy/omap-usb2.c b/drivers/usb/phy/omap-usb2.c
index 26ae8f49225c..2fdb8ede5f1c 100644
--- a/drivers/usb/phy/omap-usb2.c
+++ b/drivers/usb/phy/omap-usb2.c
@@ -168,11 +168,9 @@ static int omap_usb2_probe(struct platform_device *pdev)
168 168
169 res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 169 res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
170 170
171 phy->control_dev = devm_request_and_ioremap(&pdev->dev, res); 171 phy->control_dev = devm_ioremap_resource(&pdev->dev, res);
172 if (phy->control_dev == NULL) { 172 if (IS_ERR(phy->control_dev))
173 dev_err(&pdev->dev, "Failed to obtain io memory\n"); 173 return PTR_ERR(phy->control_dev);
174 return -ENXIO;
175 }
176 174
177 phy->is_suspended = 1; 175 phy->is_suspended = 1;
178 omap_usb_phy_power(phy, 0); 176 omap_usb_phy_power(phy, 0);
diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
index 38bce046f4d0..cfd205036aba 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -14,6 +14,7 @@
14 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 14 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
15 * 15 *
16 */ 16 */
17#include <linux/err.h>
17#include <linux/io.h> 18#include <linux/io.h>
18#include <linux/module.h> 19#include <linux/module.h>
19#include <linux/pm_runtime.h> 20#include <linux/pm_runtime.h>
@@ -443,11 +444,9 @@ static int usbhs_probe(struct platform_device *pdev)
443 return -ENOMEM; 444 return -ENOMEM;
444 } 445 }
445 446
446 priv->base = devm_request_and_ioremap(&pdev->dev, res); 447 priv->base = devm_ioremap_resource(&pdev->dev, res);
447 if (!priv->base) { 448 if (IS_ERR(priv->base))
448 dev_err(&pdev->dev, "ioremap error.\n"); 449 return PTR_ERR(priv->base);
449 return -ENOMEM;
450 }
451 450
452 /* 451 /*
453 * care platform info 452 * care platform info