Both dev_request_mem_region() and dev_request_mem_region_err_null() implement exactly the same functionality different only in error reporting value. Change the code to make use of a common generic function whose return type can be specified via an argument. Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> --- drivers/base/driver.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/base/driver.c b/drivers/base/driver.c index c687afd75..476f844be 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -407,27 +407,27 @@ struct resource *dev_request_mem_resource(struct device_d *dev, int num) return request_iomem_region(dev_name(dev), res->start, res->end); } -void __iomem *dev_request_mem_region_err_null(struct device_d *dev, int num) +static void __iomem *__dev_request_mem_region(struct device_d *dev, int num, + bool null_on_error) { struct resource *res; res = dev_request_mem_resource(dev, num); if (IS_ERR(res)) - return NULL; + return null_on_error ? NULL : ERR_CAST(res); return IOMEM(res->start); } + +void __iomem *dev_request_mem_region_err_null(struct device_d *dev, int num) +{ + return __dev_request_mem_region(dev, num, true); +} EXPORT_SYMBOL(dev_request_mem_region_err_null); void __iomem *dev_request_mem_region(struct device_d *dev, int num) { - struct resource *res; - - res = dev_request_mem_resource(dev, num); - if (IS_ERR(res)) - return ERR_CAST(res); - - return IOMEM(res->start); + return __dev_request_mem_region(dev, num, false); } EXPORT_SYMBOL(dev_request_mem_region); -- 2.17.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox