summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
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/i2c
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/i2c')
-rw-r--r--drivers/i2c/busses/i2c-imx.c3
-rw-r--r--drivers/i2c/busses/i2c-omap.c2
-rw-r--r--drivers/i2c/busses/i2c-versatile.c5
3 files changed, 8 insertions, 2 deletions
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index 6b390478fa..714e83c4b9 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -548,6 +548,9 @@ static int __init i2c_fsl_probe(struct device_d *pdev)
i2c_fsl->adapter.dev.parent = pdev;
i2c_fsl->adapter.dev.device_node = pdev->device_node;
i2c_fsl->base = dev_request_mem_region(pdev, 0);
+ if (IS_ERR(i2c_fsl->base))
+ return PTR_ERR(i2c_fsl->base);
+
i2c_fsl->dfsrr = -1;
/* Set up clock divider */
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index adc952b043..0d714cc940 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1023,6 +1023,8 @@ i2c_omap_probe(struct device_d *pdev)
i2c_omap->speed = speed;
i2c_omap->base = dev_request_mem_region(pdev, 0);
+ if (IS_ERR(i2c_omap->base))
+ return PTR_ERR(i2c_omap->base);
/*
* Read the Rev hi bit-[15:14] ie scheme this is 1 indicates ver2.
diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
index 4fead61513..bfabc78312 100644
--- a/drivers/i2c/busses/i2c-versatile.c
+++ b/drivers/i2c/busses/i2c-versatile.c
@@ -15,6 +15,7 @@
#include <init.h>
#include <malloc.h>
#include <io.h>
+#include <linux/err.h>
#define I2C_CONTROL 0x00
#define I2C_CONTROLS 0x00
@@ -75,8 +76,8 @@ static int i2c_versatile_probe(struct device_d *dev)
}
i2c->base = dev_request_mem_region(dev, 0);
- if (!i2c->base) {
- ret = -ENOMEM;
+ if (IS_ERR(i2c->base)) {
+ ret = PTR_ERR(i2c->base);
goto err_free;
}