Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Zijun Hu and committed by
Greg Kroah-Hartman
9bd133f0 0ee4dcaf

+1 -2
+1 -2
lib/devres.c
··· 307 307 */ 308 308 void devm_ioport_unmap(struct device *dev, void __iomem *addr) 309 309 { 310 - ioport_unmap(addr); 311 - WARN_ON(devres_destroy(dev, devm_ioport_map_release, 310 + WARN_ON(devres_release(dev, devm_ioport_map_release, 312 311 devm_ioport_map_match, (__force void *)addr)); 313 312 } 314 313 EXPORT_SYMBOL(devm_ioport_unmap);