From: Zijun Hu Date: Wed, 18 Sep 2024 14:48:14 +0000 (+0800) Subject: lib: devres: Simplify API devm_ioport_unmap() implementation X-Git-Tag: v6.13-rc1~29^2~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bd133f05b1dca5ca4399a76d04d0f6f4d454e44;p=thirdparty%2Fkernel%2Fstable.git 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 Link: https://lore.kernel.org/r/20240918-fix_lib_devres-v1-2-e696ab5486e6@quicinc.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/lib/devres.c b/lib/devres.c index 68ffcd5d93584..73901160197eb 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);