pinctrl_read...r_gpio_range(9)
π pinctrl_read...r_gpio_range(9) β Kernel API Manual, but make it make sense
okay so bestie, welcome to the Kernel API Manual β¨ we're looking at pinctrl_ready_for_gpio_range today and honestly? she's a vibe checker. she does not do anything, she just tells you if things are ready. icon behavior tbh π
β¨ NAME β¨
pinctrl_ready_for_gpio_range β check if other GPIO pins of the same GPIO chip are in range π
πΈ SYNOPSIS πΈ
bool pinctrl_ready_for_gpio_range (struct gpio_chip *gc , unsigned int offset );
π¦ ARGUMENTS π¦
gcβ the GPIO chip structure, straight from the GPIO subsystem π«Ά like, the whole chip, not just one pinoffsetβ the hardware offset of the GPIO relative to the controller. yes, relative to the controller, don't come at me with absolute numbers π
π DESCRIPTION π
so this one is the complement of pinctrl_match_gpio_range β they're giving duo energy, iykyk π
here's the tea: if the return value of pinctrl_match_gpio_range is NULL, you can use this function to check whether the pinctrl device is ready or not. lowkey a glow-up move β¨
and likeβ¦ maybe some GPIO pins of the same GPIO chip just don't have a back-end pinctrl interface? not their fault, they're doing their best π
so, vibe check time:
- if the return value is
trueβ the pinctrl device is ready & that certain GPIO pin doesn't have a back-end pinctrl device. slay, mystery solved π - if the return value is
falseβ the pinctrl device may not be ready. main character is still getting ready, give her a minute π
ngl "may not be ready" is doing a lot of heavy lifting there β that's the manpage's wording, not mine, so don't @ me π₯
π SEE ALSO π
all the siblings and cousins fr fr, in the kernel file ./drivers/pinctrl/core.c:
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_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_init_controller(9)pinctrl_register(9)pinctrl_register_and_init(9)pinctrl_unregister(9)devm_pinctrl_register(9)devm_pinctrl_register_and_init(9)
that's the whole group chat, no one left on read π
okay that's the page!! sign-off time bestie π this little beauty lives in ./drivers/pinctrl and the date on it is October 2026 β so she's from the future, obviously, and she ate π bye pookie, go check your ranges π
β¨π¦
π¦ 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