devm_reset_...ional_shared(9)
π devm_reset_control_bulk_get_optional_shared β the whole manual, bestie
okay so. this is a page from the Kernel API Manual (section 9, the fun one) and it's all about devm_reset_control_bulk_get_optional_shared. yes the title is a mouthful, no we're not abbreviating it, and yes it's iconic. let's get into it π
β¨ NAME β¨
devm_reset_control_bulk_get_optional_shared β the resource managed version of reset_control_bulk_get_optional_shared(). that's it, that's the name, it literally tells you what it is π
πΈ SYNOPSIS πΈ
int devm_reset_control_bulk_get_optional_shared (struct device *dev ,
int num_rstcs , struct reset_control_bulk_data *rstcs );
like, look at her. three args. returns an int. no notes. π«Ά
π¦ ARGUMENTS π¦
devβ the device that's gonna get reset by the controller. main character energy tbh πnum_rstcsβ how many entries live in therstcsarray. like, count your blessings but make it a parameter β¨rstcsβ the actual array ofstruct reset_control_bulk_data, with the reset line names already set. so don't come in here with unnamed lines, that's not the vibe π
π₯ DESCRIPTION π₯
So this is the managed reset_control_bulk_get_optional_shared. and "managed" is doing so much work in that sentence, bestie β the way that any reset controllers you get back from this function get reset_control_put called on them automatically when the driver detaches. no manual cleanup, no goto err_ spaghetti, no cap. the kernel just handles it for you π
If you want the full lore, the page says: see reset_control_bulk_get_optional_shared for more information. that's the unmanaged sibling, go say hi π
β SEE ALSO β
okay this list is long long, but every single one of these is here for a reason and we respect all of them. get comfy π
- 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_get_exclusive_deasserted(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_get_exclusive_by_index(9)devm_reset_control_get_shared_by_index(9)
ngl, that list ate and left no crumbs. iykyk π₯
and that's the page, bestie β it lives at ./include/linux, it's dated October 2026, and it's filed under devm_reset_...ional_shared(9) in the Kernel API Manual. stay managed, stay optional, stay shared ππβ¨
π¦ 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