devm_pinctrl_put(9)
π devm_pinctrl_put(9) β like, the Kernel API Manual bestie β¨
okay so bestie, we're in the Kernel API Manual today and this one is short but iconic, so let's go π«Ά
πΈ NAME πΈ
devm_pinctrl_put β the resource-managed version of pinctrl_put(), no cap π
β¨ SYNOPSIS β¨
void devm_pinctrl_put (struct pinctrl *p );
π ARGUMENTS π
pβ the pinctrl handle to release. that's it, that's the whole argument, she's lowkey simple like that π
π¦ DESCRIPTION π¦
So basically this deallocates a struct pinctrl that you got from devm_pinctrl_get. π«§
And here's the tea: normally you will not need to call this function at all β the resource management code is gonna handle it for you and make sure the resource gets freed. the devm machinery is literally doing the most so you don't have to ππ
π SEE ALSO π
Kernel file ./drivers/pinctrl/core.c β and honestly the whole friend group showed up for this one, so here they all are, every single one, periodt π:
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)pinctrl_select_state(9)devm_pinctrl_get(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)
ngl if you're out here manually calling this when you didn't have to, the resource management code is gonna look at you like π β you're free to, but likeβ¦ she already had it handled, bestie π
and that's the whole page!! mwah π source situation lives in ./drivers/pinctrl, dated October 2026, and it's devm_pinctrl_put(9) signing off β slay, bye π§πβ¨
π¦ 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