diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-31 09:02:47 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-09-16 08:32:10 +0200 |
commit | 29b7f95f3bd244a4b4d036e1b3a94a7bfbe3581c (patch) | |
tree | 282c0036b7127af4ecb76e6fb214de8a2077bcfb /drivers/base | |
parent | 9d518ba397712add7fa06ff3ab056a26a3c46de6 (diff) | |
download | barebox-29b7f95f3bd244a4b4d036e1b3a94a7bfbe3581c.tar.gz barebox-29b7f95f3bd244a4b4d036e1b3a94a7bfbe3581c.tar.xz |
resource: Let dev_get_mem_region return an error pointer
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/driver.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 524ed1c980..23f31ce77e 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -265,7 +265,7 @@ void *dev_get_mem_region(struct device_d *dev, int num) res = dev_get_resource(dev, IORESOURCE_MEM, num); if (IS_ERR(res)) - return NULL; + return ERR_CAST(res); return (void __force *)res->start; } @@ -348,6 +348,8 @@ int generic_memmap_ro(struct cdev *cdev, void **map, int flags) if (flags & PROT_WRITE) return -EACCES; *map = dev_get_mem_region(cdev->dev, 0); + if (IS_ERR(*map)) + return PTR_ERR(*map); return 0; } @@ -357,6 +359,9 @@ int generic_memmap_rw(struct cdev *cdev, void **map, int flags) return -EINVAL; *map = dev_get_mem_region(cdev->dev, 0); + if (IS_ERR(*map)) + return PTR_ERR(*map); + return 0; } |