devm_ioport_unmap(9)
π devm_ioport_unmap(9) β like, the managed unmap, bestie
okay so welcome to the Kernel API Manual β¨ this one's short and sweet and honestly kind of a vibe. it's devm_ioport_unmap, and yes the 9 means it's a kernel function page, iykyk π
β¨ NAME β¨
devm_ioport_unmap β the managed version of ioport_unmap(). that's it, that's the whole name π«Ά
πΈ SYNOPSIS πΈ
void devm_ioport_unmap (struct device *dev , void __iomem *addr );
literally two arguments, no return value, no drama. she just unmaps and leaves π
π¦ ARGUMENTS π¦
devβ the generic device you're unmapping for. the whole "managed" thing hinges on this baby, so don't go handing over some random pointer πaddrβ the address to unmap. the actual thing getting cleaned up β
π DESCRIPTION π
so devm_ioport_unmap is a managed ioport_unmap β the devres machinery handles the cleanup timing for you, which is the entire point of the devm_ prefix β¨
β οΈ okay bestie, important:addrmust have been mapped usingdevm_ioport_map. that's not a suggestion, that's the contract. no cap, fr fr. don't be out here unmapping addresses that came from somewhere else π
π SEE ALSO π
the kernel file ./lib/devres.c and her whole friend group:
devm_ioremap(9)devm_ioremap_uc(9)devm_ioremap_wc(9)devm_iounmap(9)devm_ioremap_resource(9)devm_ioremap_resource_wc(9)devm_ioport_map(9)devm_arch_phys_wc_add(9)devm_arch_io_reserve_memtype_wc(9)
like, the entire devm_ cinematic universe π go read devm_ioport_map(9) next if you want the origin story π
and that's the page!! signing off from the ./lib source, October 2026, in the Kernel API Manual β mwah, slay, go unmap responsibly ππ§ββοΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms