mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
devres: switch to use dev_err_probe() for unification
Patch series "devres: A couple of cleanups". A couple of ad-hoc cleanups. No functional changes intended. This patch (of 2): The devm_*() APIs are supposed to be called during the ->probe() stage. Many drivers (especially new ones) have switched to use dev_err_probe() for error messaging for the sake of unification. Let's do the same in the devres APIs. Link: https://lkml.kernel.org/r/20240403104820.557487-1-andriy.shevchenko@linux.intel.com Link: https://lkml.kernel.org/r/20240403104820.557487-2-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Philipp Stanner <pstanner@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
b157f0e97e
commit
f36c54f3ce
17
lib/devres.c
17
lib/devres.c
@ -125,12 +125,13 @@ __devm_ioremap_resource(struct device *dev, const struct resource *res,
|
||||
resource_size_t size;
|
||||
void __iomem *dest_ptr;
|
||||
char *pretty_name;
|
||||
int ret;
|
||||
|
||||
BUG_ON(!dev);
|
||||
|
||||
if (!res || resource_type(res) != IORESOURCE_MEM) {
|
||||
dev_err(dev, "invalid resource %pR\n", res);
|
||||
return IOMEM_ERR_PTR(-EINVAL);
|
||||
ret = dev_err_probe(dev, -EINVAL, "invalid resource %pR\n", res);
|
||||
return IOMEM_ERR_PTR(ret);
|
||||
}
|
||||
|
||||
if (type == DEVM_IOREMAP && res->flags & IORESOURCE_MEM_NONPOSTED)
|
||||
@ -144,20 +145,20 @@ __devm_ioremap_resource(struct device *dev, const struct resource *res,
|
||||
else
|
||||
pretty_name = devm_kstrdup(dev, dev_name(dev), GFP_KERNEL);
|
||||
if (!pretty_name) {
|
||||
dev_err(dev, "can't generate pretty name for resource %pR\n", res);
|
||||
return IOMEM_ERR_PTR(-ENOMEM);
|
||||
ret = dev_err_probe(dev, -ENOMEM, "can't generate pretty name for resource %pR\n", res);
|
||||
return IOMEM_ERR_PTR(ret);
|
||||
}
|
||||
|
||||
if (!devm_request_mem_region(dev, res->start, size, pretty_name)) {
|
||||
dev_err(dev, "can't request region for resource %pR\n", res);
|
||||
return IOMEM_ERR_PTR(-EBUSY);
|
||||
ret = dev_err_probe(dev, -EBUSY, "can't request region for resource %pR\n", res);
|
||||
return IOMEM_ERR_PTR(ret);
|
||||
}
|
||||
|
||||
dest_ptr = __devm_ioremap(dev, res->start, size, type);
|
||||
if (!dest_ptr) {
|
||||
dev_err(dev, "ioremap failed for resource %pR\n", res);
|
||||
devm_release_mem_region(dev, res->start, size);
|
||||
dest_ptr = IOMEM_ERR_PTR(-ENOMEM);
|
||||
ret = dev_err_probe(dev, -ENOMEM, "ioremap failed for resource %pR\n", res);
|
||||
return IOMEM_ERR_PTR(ret);
|
||||
}
|
||||
|
||||
return dest_ptr;
|
||||
|
Loading…
Reference in New Issue
Block a user