pinctrl_select_state(9)
β¨ pinctrl_select_state β the glow-up button for your pins π
Okay bestie, so this one is a kernel API page from the Kernel API Manual, and it's called pinctrl_select_state. The name literally tells you the vibe: it selects, activates, and programs a pinctrl state onto the hardware. It's giving "pick a fit, put it on, and commit" energy, and honestly? Iconic. π
πΈ NAME πΈ
pinctrl_select_state β select/activate/program a pinctrl state to HW
Yeah. That's the whole flex. It picks a state and makes the hardware actually wear it. No cap. π₯
β SYNOPSIS β
int pinctrl_select_state (struct pinctrl *p , struct pinctrl_state
*state );
So it takes two things and hands you back an int. Simple. Clean. Main character function energy. β¨
π ARGUMENTS π
pβ the pinctrl handle for the device that requests configuration. Like, this is who's asking for the fit. π«Άstateβ the state handle to select/activate/program. This is the actual fit being put on the pins. π
π¦ SEE ALSO π¦
First up, the source: it lives in the kernel file ./drivers/pinctrl/core.c. Then the whole friend group shows up β and yes, we're listing every single one, because nobody gets left out of the group chat:
pinctrl_provide_dummies(9)get_pinctrl_dev_from_devname(9)pin_get_from_name(9)pin_get_name(9)gpio_to_pin(9)pinctrl_match_gpio_range(9)pinctrl_ready_for_gpio_range(9)pinctrl_get_device_gpio_range(9)pinctrl_add_gpio_range(9)pinctrl_find_gpio_range_from_pin(9)pinctrl_remove_gpio_range(9)pinctrl_generic_get_group_count(9)pinctrl_generic_get_group_name(9)pinctrl_generic_get_group_pins(9)pinctrl_generic_get_group(9)pinctrl_generic_add_group(9)pinctrl_generic_remove_group(9)pinctrl_generic_free_groups(9)pinctrl_get_group_selector(9)pinctrl_gpio_request(9)pinctrl_gpio_free(9)pinctrl_gpio_direction_input(9)pinctrl_gpio_direction_output(9)pinctrl_gpio_set_config(9)pinctrl_gpio_get_config(9)pinctrl_get(9)pinctrl_release(9)pinctrl_put(9)pinctrl_lookup_state(9)pinctrl_commit_state(9)devm_pinctrl_get(9)devm_pinctrl_put(9)pinctrl_register_mappings(9)pinctrl_unregister_mappings(9)devm_pinctrl_register_mappings(9)pinctrl_force_sleep(9)pinctrl_force_default(9)pinctrl_init_done(9)pinctrl_select_default_state(9)pinctrl_pm_select_default_state(9)pinctrl_pm_select_init_state(9)pinctrl_pm_select_sleep_state(9)pinctrl_pm_select_idle_state(9)pinctrl_init_controller(9)pinctrl_register(9)pinctrl_register_and_init(9)pinctrl_unregister(9)devm_pinctrl_register(9)devm_pinctrl_register_and_init(9)
Like, that's the entire friend group and every single one of them ate. ππ₯
Lowkey the whole page is short, but every detail is here β nothing skipped, nothing invented. Facts stay facts, even when the fit is π₯.
And that's the tea, bestie π β this little icon comes from the ./drivers/pinctrl corner of the kernel, dated October 2026, and it's filed under the pinctrl_select_state(9) manual page. Go forth and select those states, you absolute legend. πππ
π¦ 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