Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: Convert to devm_ioremap_resource()

Convert all uses of devm_request_and_ioremap() to the newly introduced
devm_ioremap_resource() which provides more consistent error handling.

devm_ioremap_resource() provides its own error messages so all explicit
error messages can be removed from the failure code paths.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Thierry Reding and committed by
Greg Kroah-Hartman
148e1134 eb612fa0

+76 -89
+3 -3
drivers/usb/chipidea/usbmisc_imx6q.c
··· 98 98 spin_lock_init(&data->lock); 99 99 100 100 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 101 - data->base = devm_request_and_ioremap(&pdev->dev, res); 102 - if (!data->base) 103 - return -EADDRNOTAVAIL; 101 + data->base = devm_ioremap_resource(&pdev->dev, res); 102 + if (IS_ERR(data->base)) 103 + return PTR_ERR(data->base); 104 104 105 105 data->clk = devm_clk_get(&pdev->dev, NULL); 106 106 if (IS_ERR(data->clk)) {
+7 -6
drivers/usb/gadget/bcm63xx_udc.c
··· 2351 2351 dev_err(dev, "error finding USBD resource\n"); 2352 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 2359 res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 2357 2360 if (!res) { 2358 2361 dev_err(dev, "error finding IUDMA resource\n"); 2359 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) { 2364 - dev_err(dev, "error requesting resources\n"); 2365 - return -ENXIO; 2366 - } 2365 + udc->iudma_regs = devm_ioremap_resource(dev, res); 2366 + if (IS_ERR(udc->iudma_regs)) 2367 + return PTR_ERR(udc->iudma_regs); 2367 2368 2368 2369 spin_lock_init(&udc->lock); 2369 2370 INIT_WORK(&udc->ep0_wq, bcm63xx_ep0_process);
+3 -4
drivers/usb/gadget/s3c-hsotg.c
··· 3525 3525 3526 3526 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 3527 3527 3528 - hsotg->regs = devm_request_and_ioremap(&pdev->dev, res); 3529 - if (!hsotg->regs) { 3530 - dev_err(dev, "cannot map registers\n"); 3531 - ret = -ENXIO; 3528 + hsotg->regs = devm_ioremap_resource(&pdev->dev, res); 3529 + if (IS_ERR(hsotg->regs)) { 3530 + ret = PTR_ERR(hsotg->regs); 3532 3531 goto err_clk; 3533 3532 } 3534 3533
+3 -4
drivers/usb/gadget/s3c-hsudc.c
··· 1295 1295 1296 1296 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1297 1297 1298 - hsudc->regs = devm_request_and_ioremap(&pdev->dev, res); 1299 - if (!hsudc->regs) { 1300 - dev_err(dev, "error mapping device register area\n"); 1301 - ret = -EBUSY; 1298 + hsudc->regs = devm_ioremap_resource(&pdev->dev, res); 1299 + if (IS_ERR(hsudc->regs)) { 1300 + ret = PTR_ERR(hsudc->regs); 1302 1301 goto err_res; 1303 1302 } 1304 1303
+3 -4
drivers/usb/host/ehci-atmel.c
··· 143 143 hcd->rsrc_start = res->start; 144 144 hcd->rsrc_len = resource_size(res); 145 145 146 - hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 147 - if (hcd->regs == NULL) { 148 - dev_dbg(&pdev->dev, "error mapping memory\n"); 149 - retval = -EFAULT; 146 + hcd->regs = devm_ioremap_resource(&pdev->dev, res); 147 + if (IS_ERR(hcd->regs)) { 148 + retval = PTR_ERR(hcd->regs); 150 149 goto fail_request_resource; 151 150 } 152 151
+4 -5
drivers/usb/host/ehci-grlib.c
··· 25 25 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 26 26 */ 27 27 28 - 28 + #include <linux/err.h> 29 29 #include <linux/signal.h> 30 30 31 31 #include <linux/of_irq.h> ··· 118 118 goto err_irq; 119 119 } 120 120 121 - hcd->regs = devm_request_and_ioremap(&op->dev, &res); 122 - if (!hcd->regs) { 123 - pr_err("%s: devm_request_and_ioremap failed\n", __FILE__); 124 - rv = -ENOMEM; 121 + hcd->regs = devm_ioremap_resource(&op->dev, &res); 122 + if (IS_ERR(hcd->regs)) { 123 + rv = PTR_ERR(hcd->regs); 125 124 goto err_ioremap; 126 125 } 127 126
+3 -4
drivers/usb/host/ehci-mxc.c
··· 128 128 hcd->rsrc_start = res->start; 129 129 hcd->rsrc_len = resource_size(res); 130 130 131 - hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 132 - if (!hcd->regs) { 133 - dev_err(dev, "error mapping memory\n"); 134 - ret = -EFAULT; 131 + hcd->regs = devm_ioremap_resource(&pdev->dev, res); 132 + if (IS_ERR(hcd->regs)) { 133 + ret = PTR_ERR(hcd->regs); 135 134 goto err_alloc; 136 135 } 137 136
+4 -3
drivers/usb/host/ehci-platform.c
··· 18 18 * 19 19 * Licensed under the GNU/GPL. See COPYING for details. 20 20 */ 21 + #include <linux/err.h> 21 22 #include <linux/kernel.h> 22 23 #include <linux/hrtimer.h> 23 24 #include <linux/io.h> ··· 105 104 hcd->rsrc_start = res_mem->start; 106 105 hcd->rsrc_len = resource_size(res_mem); 107 106 108 - hcd->regs = devm_request_and_ioremap(&dev->dev, res_mem); 109 - if (!hcd->regs) { 110 - err = -ENOMEM; 107 + hcd->regs = devm_ioremap_resource(&dev->dev, res_mem); 108 + if (IS_ERR(hcd->regs)) { 109 + err = PTR_ERR(hcd->regs); 111 110 goto err_put_hcd; 112 111 } 113 112 err = usb_add_hcd(hcd, irq, IRQF_SHARED);
+4 -4
drivers/usb/host/ehci-ppc-of.c
··· 12 12 * This file is licenced under the GPL. 13 13 */ 14 14 15 + #include <linux/err.h> 15 16 #include <linux/signal.h> 16 17 17 18 #include <linux/of.h> ··· 122 121 goto err_irq; 123 122 } 124 123 125 - hcd->regs = devm_request_and_ioremap(&op->dev, &res); 126 - if (!hcd->regs) { 127 - pr_err("%s: devm_request_and_ioremap failed\n", __FILE__); 128 - rv = -ENOMEM; 124 + hcd->regs = devm_ioremap_resource(&op->dev, &res); 125 + if (IS_ERR(hcd->regs)) { 126 + rv = PTR_ERR(hcd->regs); 129 127 goto err_ioremap; 130 128 } 131 129
+4 -4
drivers/usb/host/ehci-sead3.c
··· 19 19 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 20 */ 21 21 22 + #include <linux/err.h> 22 23 #include <linux/platform_device.h> 23 24 24 25 static int ehci_sead3_setup(struct usb_hcd *hcd) ··· 113 112 hcd->rsrc_start = res->start; 114 113 hcd->rsrc_len = resource_size(res); 115 114 116 - hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 117 - if (!hcd->regs) { 118 - pr_debug("ioremap failed"); 119 - ret = -ENOMEM; 115 + hcd->regs = devm_ioremap_resource(&pdev->dev, res); 116 + if (IS_ERR(hcd->regs)) { 117 + ret = PTR_ERR(hcd->regs); 120 118 goto err1; 121 119 } 122 120
+3 -4
drivers/usb/host/ehci-sh.c
··· 118 118 hcd->rsrc_start = res->start; 119 119 hcd->rsrc_len = resource_size(res); 120 120 121 - hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 122 - if (hcd->regs == NULL) { 123 - dev_dbg(&pdev->dev, "error mapping memory\n"); 124 - ret = -ENXIO; 121 + hcd->regs = devm_ioremap_resource(&pdev->dev, res); 122 + if (IS_ERR(hcd->regs)) { 123 + ret = PTR_ERR(hcd->regs); 125 124 goto fail_request_resource; 126 125 } 127 126
+4 -4
drivers/usb/host/ehci-vt8500.c
··· 16 16 * 17 17 */ 18 18 19 + #include <linux/err.h> 19 20 #include <linux/of.h> 20 21 #include <linux/platform_device.h> 21 22 ··· 97 96 hcd->rsrc_start = res->start; 98 97 hcd->rsrc_len = resource_size(res); 99 98 100 - hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 101 - if (!hcd->regs) { 102 - pr_debug("ioremap failed"); 103 - ret = -ENOMEM; 99 + hcd->regs = devm_ioremap_resource(&pdev->dev, res); 100 + if (IS_ERR(hcd->regs)) { 101 + ret = PTR_ERR(hcd->regs); 104 102 goto err1; 105 103 } 106 104
+4 -4
drivers/usb/host/ehci-xilinx-of.c
··· 25 25 * 26 26 */ 27 27 28 + #include <linux/err.h> 28 29 #include <linux/signal.h> 29 30 30 31 #include <linux/of.h> ··· 160 159 goto err_irq; 161 160 } 162 161 163 - hcd->regs = devm_request_and_ioremap(&op->dev, &res); 164 - if (!hcd->regs) { 165 - pr_err("%s: devm_request_and_ioremap failed\n", __FILE__); 166 - rv = -ENOMEM; 162 + hcd->regs = devm_ioremap_resource(&op->dev, &res); 163 + if (IS_ERR(hcd->regs)) { 164 + rv = PTR_ERR(hcd->regs); 167 165 goto err_irq; 168 166 } 169 167
+3 -4
drivers/usb/host/ohci-nxp.c
··· 306 306 goto out8; 307 307 } 308 308 309 - hcd->regs = devm_request_and_ioremap(&pdev->dev, res); 310 - if (!hcd->regs) { 311 - dev_err(&pdev->dev, "Failed to devm_request_and_ioremap\n"); 312 - ret = -ENOMEM; 309 + hcd->regs = devm_ioremap_resource(&pdev->dev, res); 310 + if (IS_ERR(hcd->regs)) { 311 + ret = PTR_ERR(hcd->regs); 313 312 goto out8; 314 313 } 315 314 hcd->rsrc_start = res->start;
+4 -3
drivers/usb/host/ohci-platform.c
··· 13 13 * 14 14 * Licensed under the GNU/GPL. See COPYING for details. 15 15 */ 16 + #include <linux/err.h> 16 17 #include <linux/platform_device.h> 17 18 #include <linux/usb/ohci_pdriver.h> 18 19 ··· 128 127 hcd->rsrc_start = res_mem->start; 129 128 hcd->rsrc_len = resource_size(res_mem); 130 129 131 - hcd->regs = devm_request_and_ioremap(&dev->dev, res_mem); 132 - if (!hcd->regs) { 133 - err = -ENOMEM; 130 + hcd->regs = devm_ioremap_resource(&dev->dev, res_mem); 131 + if (IS_ERR(hcd->regs)) { 132 + err = PTR_ERR(hcd->regs); 134 133 goto err_put_hcd; 135 134 } 136 135 err = usb_add_hcd(hcd, irq, IRQF_SHARED);
+3 -4
drivers/usb/host/ohci-s3c2410.c
··· 351 351 hcd->rsrc_start = dev->resource[0].start; 352 352 hcd->rsrc_len = resource_size(&dev->resource[0]); 353 353 354 - hcd->regs = devm_request_and_ioremap(&dev->dev, &dev->resource[0]); 355 - if (!hcd->regs) { 356 - dev_err(&dev->dev, "devm_request_and_ioremap failed\n"); 357 - retval = -ENOMEM; 354 + hcd->regs = devm_ioremap_resource(&dev->dev, &dev->resource[0]); 355 + if (IS_ERR(hcd->regs)) { 356 + retval = PTR_ERR(hcd->regs); 358 357 goto err_put; 359 358 } 360 359
+3 -4
drivers/usb/musb/musb_dsps.c
··· 500 500 resources[0].end = resources[0].start + SZ_4 - 1; 501 501 resources[0].flags = IORESOURCE_MEM; 502 502 503 - glue->usb_ctrl[id] = devm_request_and_ioremap(&pdev->dev, resources); 504 - if (glue->usb_ctrl[id] == NULL) { 505 - dev_err(dev, "Failed to obtain usb_ctrl%d memory\n", id); 506 - ret = -ENODEV; 503 + glue->usb_ctrl[id] = devm_ioremap_resource(&pdev->dev, resources); 504 + if (IS_ERR(glue->usb_ctrl[id])) { 505 + ret = PTR_ERR(glue->usb_ctrl[id]); 507 506 goto err0; 508 507 } 509 508
+1 -3
drivers/usb/musb/omap2430.c
··· 523 523 524 524 res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 525 525 526 - glue->control_otghs = devm_request_and_ioremap(&pdev->dev, res); 527 - if (glue->control_otghs == NULL) 528 - dev_dbg(&pdev->dev, "Failed to obtain control memory\n"); 526 + glue->control_otghs = devm_ioremap_resource(&pdev->dev, res); 529 527 530 528 if (np) { 531 529 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
+3 -3
drivers/usb/otg/mxs-phy.c
··· 115 115 return -ENOENT; 116 116 } 117 117 118 - base = devm_request_and_ioremap(&pdev->dev, res); 119 - if (!base) 120 - return -EBUSY; 118 + base = devm_ioremap_resource(&pdev->dev, res); 119 + if (IS_ERR(base)) 120 + return PTR_ERR(base); 121 121 122 122 clk = devm_clk_get(&pdev->dev, NULL); 123 123 if (IS_ERR(clk)) {
+3 -5
drivers/usb/phy/mv_u3d_phy.c
··· 283 283 return -ENODEV; 284 284 } 285 285 286 - phy_base = devm_request_and_ioremap(dev, res); 287 - if (!phy_base) { 288 - dev_err(dev, "%s: register mapping failed\n", __func__); 289 - return -ENXIO; 290 - } 286 + phy_base = devm_ioremap_resource(dev, res); 287 + if (IS_ERR(phy_base)) 288 + return PTR_ERR(phy_base); 291 289 292 290 mv_u3d_phy = devm_kzalloc(dev, sizeof(*mv_u3d_phy), GFP_KERNEL); 293 291 if (!mv_u3d_phy)
+3 -5
drivers/usb/phy/omap-usb2.c
··· 168 168 169 169 res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 170 170 171 - phy->control_dev = devm_request_and_ioremap(&pdev->dev, res); 172 - if (phy->control_dev == NULL) { 173 - dev_err(&pdev->dev, "Failed to obtain io memory\n"); 174 - return -ENXIO; 175 - } 171 + phy->control_dev = devm_ioremap_resource(&pdev->dev, res); 172 + if (IS_ERR(phy->control_dev)) 173 + return PTR_ERR(phy->control_dev); 176 174 177 175 phy->is_suspended = 1; 178 176 omap_usb_phy_power(phy, 0);
+4 -5
drivers/usb/renesas_usbhs/common.c
··· 14 14 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 15 15 * 16 16 */ 17 + #include <linux/err.h> 17 18 #include <linux/io.h> 18 19 #include <linux/module.h> 19 20 #include <linux/pm_runtime.h> ··· 444 443 return -ENOMEM; 445 444 } 446 445 447 - priv->base = devm_request_and_ioremap(&pdev->dev, res); 448 - if (!priv->base) { 449 - dev_err(&pdev->dev, "ioremap error.\n"); 450 - return -ENOMEM; 451 - } 446 + priv->base = devm_ioremap_resource(&pdev->dev, res); 447 + if (IS_ERR(priv->base)) 448 + return PTR_ERR(priv->base); 452 449 453 450 /* 454 451 * care platform info