diff --git a/common/memory.c b/common/memory.c index c564550..57c73ab 100644 --- a/common/memory.c +++ b/common/memory.c @@ -124,8 +124,8 @@ 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 6e84bd8..fd04f26 100644 --- a/common/resource.c +++ b/common/resource.c @@ -125,13 +125,7 @@ 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 6106252..b934e11 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 @@ */ 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 b3faf47..db4c356 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 e39a351..d90da42 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -311,7 +311,7 @@ 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 @@ 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 eeb4b42..1524a33 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 @@ } 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 55cc34f..231f4fe 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -77,9 +77,9 @@ } 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 56377ea..a5b52a8 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -341,10 +341,10 @@ } 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;