pinctrl_init_controller(9)
π pinctrl_init_controller(9) β from the Kernel API Manual, bestie π
okay so picture this: you're a kernel dev, you've got a shiny new pin controller, and it's just... sitting there. not initialized. embarrassing. π that's literally where pinctrl_init_controller comes in β it's the glow-up routine for your pin controller device, and it lives right at home in the Kernel API Manual. periodt. β¨
πΈ NAME πΈ
pinctrl_init_controller β init a pin controller device π«Ά
β¨ SYNOPSIS β¨
struct pinctrl_dev * pinctrl_init_controller (const struct pinctrl_desc
*pctldesc , struct device *dev , void *driver_data );
π¦ ARGUMENTS π¦
pctldescβ the descriptor for this pin controller. like, the whole vibe sheet for your controller πdevβ the parent device for this pin controller. gotta know where it belongs in the family tree π³driver_dataβ private pin controller data for this pin controller. it's giving "just between us" π€«
π₯ SEE ALSO π₯
the kernel file ./drivers/pinctrl/core.c is the main character here, and these are the besties it keeps close:
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)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_register(9)pinctrl_register_and_init(9)pinctrl_unregister(9)devm_pinctrl_register(9)devm_pinctrl_register_and_init(9)
like i said. besties. all of them. no cap. π
and that's the whole page bestie!! π this lil legend comes to you from ./drivers/pinctrl, stamped October 2026, and it's filed under pinctrl_init_controller(9) β go init something iconic πβ¨π
π¦ 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