summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-07-31 10:38:08 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-09-16 08:32:10 +0200
commited6e965824303255cacc1c1a195d3684caa26bce (patch)
tree26e2b1b78498675ceae4dd2e990836c26ec1d5ec /drivers/usb
parent5bdc82c54a3306f2ae151a00f2df54f9240395b8 (diff)
downloadbarebox-ed6e965824303255cacc1c1a195d3684caa26bce.tar.gz
barebox-ed6e965824303255cacc1c1a195d3684caa26bce.tar.xz
resource: Let dev_request_mem_region return an error pointer
For all users fix or add the error check. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/at91_udc.c4
-rw-r--r--drivers/usb/gadget/fsl_udc.c4
-rw-r--r--drivers/usb/host/ehci-hcd.c4
-rw-r--r--drivers/usb/host/ohci-hcd.c3
-rw-r--r--drivers/usb/imx/chipidea-imx.c5
5 files changed, 16 insertions, 4 deletions
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index 2b19be94f0..2f0d5ed6fa 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1432,8 +1432,8 @@ static int __init at91udc_probe(struct device_d *dev)
}
udc->udp_baseaddr = dev_request_mem_region(dev, 0);
- if (!udc->udp_baseaddr) {
- retval = -ENOMEM;
+ if (IS_ERR(udc->udp_baseaddr)) {
+ retval = PTR_ERR(udc->udp_baseaddr);
goto fail0a;
}
diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c
index 5a625d19ca..877d2dfec4 100644
--- a/drivers/usb/gadget/fsl_udc.c
+++ b/drivers/usb/gadget/fsl_udc.c
@@ -9,6 +9,7 @@
#include <io.h>
#include <poller.h>
#include <asm/byteorder.h>
+#include <linux/err.h>
/* ### define USB registers here
*/
@@ -2320,6 +2321,9 @@ static int fsl_udc_probe(struct device_d *dev)
{
void __iomem *regs = dev_request_mem_region(dev, 0);
+ if (IS_ERR(regs))
+ return PTR_ERR(regs);
+
return ci_udc_register(dev, regs);
}
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index c0ea8d013a..5624552c00 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -30,6 +30,7 @@
#include <of.h>
#include <usb/ehci.h>
#include <asm/mmu.h>
+#include <linux/err.h>
#include "ehci.h"
@@ -924,6 +925,9 @@ static int ehci_probe(struct device_d *dev)
data.flags = EHCI_HAS_TT;
data.hccr = dev_request_mem_region(dev, 0);
+ if (IS_ERR(data.hccr))
+ return PTR_ERR(data.hccr);
+
if (dev->num_resources > 1)
data.hcor = dev_request_mem_region(dev, 1);
else
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 3d18a73325..622f5c3a5b 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -47,6 +47,7 @@
#include <usb/usb_defs.h>
#include <init.h>
#include <errno.h>
+#include <linux/err.h>
#include <asm/byteorder.h>
#include <io.h>
@@ -1812,6 +1813,8 @@ static int ohci_probe(struct device_d *dev)
usb_register_host(host);
ohci->regs = dev_request_mem_region(dev, 0);
+ if (IS_ERR(ohci->regs))
+ return PTR_ERR(ohci->regs);
return 0;
}
diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c
index 62feae8eac..ffa46dac6e 100644
--- a/drivers/usb/imx/chipidea-imx.c
+++ b/drivers/usb/imx/chipidea-imx.c
@@ -24,6 +24,7 @@
#include <usb/chipidea-imx.h>
#include <usb/ulpi.h>
#include <usb/fsl_usb2.h>
+#include <linux/err.h>
#define MXC_EHCI_PORTSC_MASK ((0xf << 28) | (1 << 25))
@@ -242,8 +243,8 @@ static int imx_chipidea_probe(struct device_d *dev)
regulator_enable(ci->vbus);
base = dev_request_mem_region(dev, 0);
- if (!base)
- return -ENODEV;
+ if (IS_ERR(base))
+ return PTR_ERR(base);
ci->base = base;