lib: devres: Simplify API devm_iounmap() implementation
authorZijun Hu <quic_zijuhu@quicinc.com>
Wed, 18 Sep 2024 14:48:13 +0000 (22:48 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Oct 2024 06:21:09 +0000 (08:21 +0200)
commit0ee4dcafda9576910559f0471a3d6891daf9ab92
tree819b49052fa03964ee82978d2164954516cbb281
parent765399553714e934a219d698953d435f4f99caa7
lib: devres: Simplify API devm_iounmap() implementation

Simplify devm_iounmap() implementation by dedicated API devres_release()
compared with current solution, namely, devres_destroy() + iounmap()
devres_release() has the following advantages:

- it is simpler if devm_iounmap()'s parameter @addr is valid, namely
  @addr was ever returned by one of devm_ioremap() variants.

- it can avoid unnecessary iounmap(@addr) if @addr is not valid.

Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Link: https://lore.kernel.org/r/20240918-fix_lib_devres-v1-1-e696ab5486e6@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/devres.c