devm_reset_...e_deasserted(9)
π devm_reset_control_get_exclusive_deasserted β like, the whole vibe β¨
okay so bestie, welcome to the Kernel API Manual π«Ά this is one of those little devm_ helpers that makes your driver's whole life easier, and honestly? it's giving "I handle the cleanup so you don't have to" energy. periodt. π
β¨ NAME β¨
devm_reset_control_get_exclusive_deasserted β resource managed reset_control_get_exclusive() + reset_control_deassert() πΈ
π SYNOPSIS π
struct reset_control * devm_reset_control_get_exclusive_deasserted
(struct device *dev , const char *id );
π¦ ARGUMENTS π¦
devβ the device that's gonna get reset by the controller πidβ the reset line name, iykyk π
π₯ DESCRIPTION π₯
So what this icon actually does: it's the managed version of reset_control_get_exclusive + reset_control_deassert. two-for-one, we love a bundle deal. π
And here's the slay part β for any reset controllers that come back from this function, reset_control_assert + reset_control_put get called automatically when the driver detaches. not you having to remember. not you writing cleanup paths at 2am. the kernel's got you, bestie. ππ«Ά
if you want the full deets, go see reset_control_get_exclusive β it's literally the source of truth. β
π SEE ALSO π
the whole extended friend group fr fr, no cap:
- Kernel file
./include/linux/reset.hπ struct reset_control_bulk_data(9)enum reset_control_flags(9)reset_control_get_exclusive(9)reset_control_bulk_get_exclusive(9)reset_control_get_exclusive_released(9)reset_control_bulk_get_exclusive_released(9)reset_control_bulk_get_optional_exclusive_released(9)reset_control_get_shared(9)reset_control_bulk_get_shared(9)reset_control_get_optional_exclusive(9)reset_control_bulk_get_optional_exclusive(9)reset_control_get_optional_shared(9)reset_control_bulk_get_optional_shared(9)of_reset_control_get_exclusive(9)of_reset_control_get_optional_exclusive(9)of_reset_control_get_shared(9)of_reset_control_get_exclusive_by_index(9)of_reset_control_get_shared_by_index(9)devm_reset_control_get_exclusive(9)devm_reset_control_bulk_get_exclusive(9)devm_reset_control_get_exclusive_released(9)devm_reset_control_bulk_get_exclusive_released(9)devm_reset_control_get_optional_exclusive_released(9)devm_reset_control_bulk_get_optional_exclusive_released(9)devm_reset_control_get_shared(9)devm_reset_control_get_shared_deasserted(9)devm_reset_control_bulk_get_shared(9)devm_reset_control_bulk_get_shared_deasserted(9)devm_reset_control_get_optional_exclusive(9)devm_reset_control_get_optional_exclusive_deasserted(9)devm_reset_control_bulk_get_optional_exclusive(9)devm_reset_control_get_optional_shared(9)devm_reset_control_get_optional_shared_deasserted(9)devm_reset_control_bulk_get_optional_shared(9)devm_reset_control_get_exclusive_by_index(9)devm_reset_control_get_shared_by_index(9)
k that's the whole page bestie π this one lives in ./include/linux and it's dated October 2026, so like... future vibes?? anyway ily, go reset some hardware 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