devm_ioremap_wc(9)
π devm_ioremap_wc(9) β from the Kernel API Manual, bestie
Okay so real quick, this page is devm_ioremap_wc(9) and it lives in the Kernel API Manual β yes, capital letters, it's That Girl. We're talking about managed IO remapping today and honestly it's iconic.
β¨ NAME β¨
devm_ioremap_wc β the managed version of ioremap_wc(), and it ate. π
π¦ SYNOPSIS π¦
void __iomem * devm_ioremap_wc (struct device *dev , resource_size_t
offset , resource_size_t size );
Look at her. Beautiful. Returns a void __iomem *, takes three things, done.
πΈ ARGUMENTS πΈ
devβ the generic device you're remapping the IO address for. Like, the whole reason the "managed" part works, so don't forget her π«Άoffsetβ the resource address you want to map. The where, basically.sizeβ how big the map is. The how much. Slay.
π DESCRIPTION π
It's managed ioremap_wc. No cap.
The map gets automatically unmapped on driver detach β that's the whole managed vibe, you literally don't have to clean up after yourself, the kernel does it for you. Main character energy tbh. π
π SEE ALSO π
Kernel file ./lib/devres.c β and the whole friend group:
devm_ioremap(9)devm_ioremap_uc(9)devm_iounmap(9)devm_ioremap_resource(9)devm_ioremap_resource_wc(9)devm_ioport_map(9)devm_ioport_unmap(9)devm_arch_phys_wc_add(9)devm_arch_io_reserve_memtype_wc(9)
All of them. Linked. Because that's how we do it. β
π Friendly reminder that this is kernel-level memory mapping, so likeβ¦ it's giving "not a toy." Respect the map, bestie.
And that's the page! Shoutout to ./lib for housing the source and to October 2026 for the timestamp β timestamped, sourced, and gorgeous. Bye bestie, go remap something 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