summaryrefslogtreecommitdiff
path: root/lib/devres.c
diff options
context:
space:
mode:
authorZijun Hu <quic_zijuhu@quicinc.com>2024-09-18 22:48:14 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-10-14 08:21:09 +0200
commit9bd133f05b1dca5ca4399a76d04d0f6f4d454e44 (patch)
treefad9e87fb7644259a0a7cf413c5a485a75bbc12c /lib/devres.c
parent0ee4dcafda9576910559f0471a3d6891daf9ab92 (diff)
lib: devres: Simplify API devm_ioport_unmap() implementation
Simplify devm_ioport_unmap() implementation by dedicated API devres_release(), compared with current solution, namely ioport_unmap() + devres_destroy(), devres_release() has below advantages: - it is simpler if devm_ioport_unmap()'s parameter @addr was ever returned by devm_ioport_map(). - it can avoid unnecessary ioport_unmap(@addr) if @addr was not ever returned by devm_ioport_map(). Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com> Link: https://lore.kernel.org/r/20240918-fix_lib_devres-v1-2-e696ab5486e6@quicinc.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'lib/devres.c')
-rw-r--r--lib/devres.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/devres.c b/lib/devres.c
index 68ffcd5d9358..73901160197e 100644
--- a/lib/devres.c
+++ b/lib/devres.c
@@ -307,8 +307,7 @@ EXPORT_SYMBOL(devm_ioport_map);
*/
void devm_ioport_unmap(struct device *dev, void __iomem *addr)
{
- ioport_unmap(addr);
- WARN_ON(devres_destroy(dev, devm_ioport_map_release,
+ WARN_ON(devres_release(dev, devm_ioport_map_release,
devm_ioport_map_match, (__force void *)addr));
}
EXPORT_SYMBOL(devm_ioport_unmap);