Hi Andrey, On Fri, Oct 26, 2018 at 06:32:29PM -0700, Andrey Smirnov wrote: > 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. Same story as PATCH 6/6 where a helper functions does two things depending on a bool. For simple functions like this my personal preference is to keep the small functions that are more explicit. Sam > > 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox