devm_reset_c...e_deasserted(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… devm_reset_control_get_optional_exclusive_deasserted(9)

okay so bestie, welcome to the Kernel API Manual ✨ β€” this one is a whole mouthful of a function name and honestly it's giving "I ate and left no crumbs" energy, because it does two things at once. Let's get into it πŸŽ€


🌸 NAME 🌸

devm_reset_control_get_optional_exclusive_deasserted β€” literally just reset_control_get_optional_exclusive() + reset_control_deassert() but with resource management sprinkled on top 🫢


✨ SYNOPSIS ✨

struct reset_control *
devm_reset_control_get_optional_exclusive_deasserted (struct device *dev
, const char *id );

that's it, that's the whole vibe check πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” the device that's gonna get reset by the controller. it's the main character here fr fr πŸ’–
  • id β€” the reset line name. yes, the name, not a number, we're being fancy 🌸

πŸŽ€ DESCRIPTION πŸŽ€

So what we've got is a managed reset_control_get_optional_exclusive + reset_control_deassert combo meal πŸ“ β€” lowkey the best of both worlds.

And here's the iconic part: for reset controllers returned from this function, reset_control_assert + reset_control_put gets called automatically on driver detach 😭 no cap, you don't have to clean up after yourself, the kernel does it for you. that's the devm magic, periodt πŸ’…

Want more deets? Go peek at devm_reset_control_get_optional_exclusive β€” it's all there, iykyk πŸ”₯


🌈 SEE ALSO 🌈

like, the whole extended friend group, honestly:


and that's the page, bestie πŸ§šπŸ’œ this lil slice of kernel lore lives in ./include/linux, dated October 2026, and if you ever need to find it again just yell devm_reset_c...e_deasserted(9) into the void and it'll come running 🫢 bye ily ⭐

πŸ“¦ where this page comes from