From dde56d42ad1763dd81a3de65b74d7387d12f6fa9 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 31 Jul 2014 08:38:08 +0200 Subject: resource: Let request_iomem_region return an error pointer Signed-off-by: Sascha Hauer --- common/memory.c | 4 ++-- common/resource.c | 8 +------- drivers/amba/bus.c | 5 +++-- drivers/ata/intf_platform_ide.c | 1 + drivers/base/driver.c | 4 ++-- drivers/gpio/gpio-generic.c | 5 +++-- drivers/mfd/syscon.c | 4 ++-- drivers/pinctrl/pinctrl-rockchip.c | 4 ++-- 8 files changed, 16 insertions(+), 19 deletions(-) diff --git a/common/memory.c b/common/memory.c index c56455002a..57c73abb22 100644 --- a/common/memory.c +++ b/common/memory.c @@ -124,8 +124,8 @@ int barebox_add_memory_bank(const char *name, resource_size_t start, struct device_d *dev; bank->res = request_iomem_region(name, start, start + size - 1); - if (!bank->res) - return -EBUSY; + if (IS_ERR(bank->res)) + return PTR_ERR(bank->res); dev = add_mem_device(name, start, size, IORESOURCE_MEM_WRITEABLE); diff --git a/common/resource.c b/common/resource.c index 6e84bd8ee5..fd04f26f78 100644 --- a/common/resource.c +++ b/common/resource.c @@ -125,13 +125,7 @@ struct resource iomem_resource = { struct resource *request_iomem_region(const char *name, resource_size_t start, resource_size_t end) { - struct resource *res; - - res = __request_region(&iomem_resource, name, start, end); - if (IS_ERR(res)) - return NULL; - - return res; + return __request_region(&iomem_resource, name, start, end); } /* The root resource for the whole io-mapped io space */ diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index 6106252264..b934e1182d 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -115,8 +116,8 @@ int amba_device_add(struct amba_device *dev) */ size = resource_size(&dev->res); res = request_iomem_region("amba", dev->res.start, dev->res.end); - if (!res) - return -ENOMEM; + if (IS_ERR(res)) + return PTR_ERR(res); dev->base = tmp = (void __force __iomem *)res->start; if (!tmp) { ret = -ENOMEM; diff --git a/drivers/ata/intf_platform_ide.c b/drivers/ata/intf_platform_ide.c index b3faf47553..db4c35611d 100644 --- a/drivers/ata/intf_platform_ide.c +++ b/drivers/ata/intf_platform_ide.c @@ -28,6 +28,7 @@ #include #include #include +#include /** * Setup the register specific addresses for an ATA like divice diff --git a/drivers/base/driver.c b/drivers/base/driver.c index e39a351bab..d90da4227a 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -311,7 +311,7 @@ void __iomem *dev_request_mem_region_by_name(struct device_d *dev, const char *n return NULL; res = request_iomem_region(dev_name(dev), res->start, res->end); - if (!res) + if (IS_ERR(res)) return NULL; return (void __force __iomem *)res->start; @@ -327,7 +327,7 @@ void __iomem *dev_request_mem_region(struct device_d *dev, int num) return NULL; res = request_iomem_region(dev_name(dev), res->start, res->end); - if (!res) + if (IS_ERR(res)) return NULL; return (void __force __iomem *)res->start; diff --git a/drivers/gpio/gpio-generic.c b/drivers/gpio/gpio-generic.c index eeb4b4277c..1524a3304b 100644 --- a/drivers/gpio/gpio-generic.c +++ b/drivers/gpio/gpio-generic.c @@ -15,6 +15,7 @@ #include #include #include +#include #include static void bgpio_write8(void __iomem *reg, unsigned int data) @@ -321,8 +322,8 @@ static void __iomem *bgpio_map(struct device_d *dev, const char *name, } ret = request_iomem_region(dev_name(dev), r->start, r->end); - if (!ret) { - *err = -ENOMEM; + if (IS_ERR(ret)) { + *err = PTR_ERR(ret); return NULL; } diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c index 55cc34ff56..231f4fef97 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -77,9 +77,9 @@ static int syscon_probe(struct device_d *dev) } res = request_iomem_region(dev_name(dev), res->start, res->end); - if (!res) { + if (IS_ERR(res)) { free(syscon); - return -EBUSY; + return PTR_ERR(res); } syscon->base = (void __iomem *)res->start; diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index 56377ea276..a5b52a8bc0 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -341,10 +341,10 @@ static int rockchip_get_bank_data(struct rockchip_pin_bank *bank, } res = request_iomem_region(dev_name(dev), node_res.start, node_res.end); - if (!res) { + if (IS_ERR(res)) { dev_err(dev, "cannot request iomem region %08x\n", node_res.start); - return -ENOENT; + return PTR_ERR(res); } bank->reg_base = (void __iomem *)res->start; -- cgit v1.2.3