mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 16:56:26 +00:00
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>
This commit is contained in:
parent
7653995537
commit
0ee4dcafda
@ -115,9 +115,8 @@ EXPORT_SYMBOL(devm_ioremap_wc);
|
||||
*/
|
||||
void devm_iounmap(struct device *dev, void __iomem *addr)
|
||||
{
|
||||
WARN_ON(devres_destroy(dev, devm_ioremap_release, devm_ioremap_match,
|
||||
WARN_ON(devres_release(dev, devm_ioremap_release, devm_ioremap_match,
|
||||
(__force void *)addr));
|
||||
iounmap(addr);
|
||||
}
|
||||
EXPORT_SYMBOL(devm_iounmap);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user