summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-10-26 18:32:28 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2018-10-29 09:54:00 +0100
commit58063a54ba59cf89249c8e1dc4ba4da3c91aa903 (patch)
tree7234f4f773315a16f831694208528df8324400f1 /drivers/base
parent21cc885609e3f3c7a9778daed344c48ae6313c33 (diff)
downloadbarebox-58063a54ba59cf89249c8e1dc4ba4da3c91aa903.tar.gz
barebox-58063a54ba59cf89249c8e1dc4ba4da3c91aa903.tar.xz
drivers: base: Simplify dev_request_mem_region_err_null()
Simplify dev_request_mem_region_err_null() by making use of dev_request_mem_resource() to implement it. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/driver.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index 9003416d26..3b39c28494 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -384,32 +384,28 @@ void __iomem *dev_request_mem_region_by_name(struct device_d *dev, const char *n
}
EXPORT_SYMBOL(dev_request_mem_region_by_name);
-void __iomem *dev_request_mem_region_err_null(struct device_d *dev, int num)
+struct resource *dev_request_mem_resource(struct device_d *dev, int num)
{
struct resource *res;
res = dev_get_resource(dev, IORESOURCE_MEM, num);
if (IS_ERR(res))
- return NULL;
-
- res = request_iomem_region(dev_name(dev), res->start, res->end);
- if (IS_ERR(res))
- return NULL;
+ return ERR_CAST(res);
- return IOMEM(res->start);
+ return request_iomem_region(dev_name(dev), res->start, res->end);
}
-EXPORT_SYMBOL(dev_request_mem_region_err_null);
-struct resource *dev_request_mem_resource(struct device_d *dev, int num)
+void __iomem *dev_request_mem_region_err_null(struct device_d *dev, int num)
{
struct resource *res;
- res = dev_get_resource(dev, IORESOURCE_MEM, num);
+ res = dev_request_mem_resource(dev, num);
if (IS_ERR(res))
- return ERR_CAST(res);
+ return NULL;
- return request_iomem_region(dev_name(dev), res->start, res->end);
+ return IOMEM(res->start);
}
+EXPORT_SYMBOL(dev_request_mem_region_err_null);
void __iomem *dev_request_mem_region(struct device_d *dev, int num)
{