pinctrl_gpio_free(9)
β¨ pinctrl_gpio_free(9) β¨
Okay bestie, welcome to the <pink>Kernel API Manual</pink> entry for pinctrl_gpio_free(9) β the function that literally frees control on a single pin, and rn that pin is being used as a GPIO. Slay. π
πΈ SYNOPSIS πΈ
void pinctrl_gpio_free (struct gpio_chip *gc , unsigned int offset );
π¦ ARGUMENTS π¦
gcβ the GPIO chip structure, fresh from the GPIO subsystem. That's her home base, periodt. πoffsetβ the hardware offset of the GPIO relative to the controller. Like her exact address in the chip, iykyk. π
π DESCRIPTION π
So here's the tea: this function should ONLY be used from gpiolib-based GPIO drivers, as part of their gpio_request semantics. That's the only vibe it's giving. Platforms and individual drivers shall NOT request GPIO pins to be muxed in β like, do not. Not your moment. π
Bestie, I cannot stress this enough: the asterisks around ONLY and NOT are not decorative. They are the whole entire point. Respect the boundaries. π
π SEE ALSO π
Kernel file: ./drivers/pinctrl/core.c β and honestly the friend group is huge, so let's get into it:
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_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)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 I said β entire friend group. Go say hi. π«Ά
This page is brought to you by ./drivers/pinctrl on the cover, and itβs stamped October 2026. Stay iconic, bestie β and remember, only gpiolib drivers get to call this one. Everyone else, do not try it. ππ
π¦ 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