The patch titled Subject: lib: devres: Simplify API devm_ioport_unmap() implementation has been added to the -mm mm-nonmm-unstable branch. Its filename is lib-devres-simplify-api-devm_ioport_unmap-implementation.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/lib-devres-simplify-api-devm_ioport_unmap-implementation.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Zijun Hu <zijun_hu@xxxxxxxxxx> Subject: lib: devres: Simplify API devm_ioport_unmap() implementation Date: Wed, 18 Sep 2024 22:48:14 +0800 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(). Link: https://lkml.kernel.org/r/20240918-fix_lib_devres-v1-2-e696ab5486e6@xxxxxxxxxxx Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- lib/devres.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/lib/devres.c~lib-devres-simplify-api-devm_ioport_unmap-implementation +++ a/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); _ Patches currently in -mm which might be from zijun_hu@xxxxxxxxxx are lib-devres-simplify-api-devm_ioport_unmap-implementation.patch