gpiod_get_index(9)
π gpiod_get_index(9) β Kernel API Manual π
okay so bestie, welcome to the Kernel API Manual entry for gpiod_get_index(9), aka the glow-up version of grabbing a GPIO when your function has several of them and you don't just want the first one. sit down, grab a strawberry π, let's go.
β¨ NAME β¨
gpiod_get_index β obtain a GPIO from a multi-index GPIO function π
πΈ SYNOPSIS πΈ
struct gpio_desc * gpiod_get_index (struct device *dev , const char
*con_id , unsigned int idx , enum gpiod_flags flags );
like, that's the whole vibe. iconic signature, no notes π
π¦ ARGUMENTS π¦
devβ the GPIO consumer. yes bestie, it can literally beNULLif you're doing system-global GPIOs. main character energy, lowkey unhinged, but valid. πcon_idβ the function within the GPIO consumer. it's giving "which one of my many jobs is this". πΌidxβ the index of the GPIO you wanna obtain in the consumer. this is the whole point of the function, fr fr. π’flagsβ optional GPIO initialization flags. optional, but they can absolutely ate. β¨
π DESCRIPTION π
so this variant of gpiod_get is the one you call when you want to access GPIOs other than the first defined one β specifically for functions that define several GPIOs. no cap. if your function's got one lonely GPIO, gpiod_get has you covered; the moment it's a whole squad, that's gpiod_get_index's moment to shine π
lowkey the whole flex here: it's not a different API, it's the same API with an index. same brain, more options. iykyk π§
π₯ RETURN π₯
- a valid GPIO descriptor β slay, you got it π
-ENOENTβ no GPIO has been assigned to the requested function and/or index. so like... nobody's home. π- or another
IS_ERRcode β if an error occurred while trying to acquire the GPIO. read it, don't ignore it bestie, that's the vibe check π«Ά
π SEE ALSO π
kernel file ./drivers/gpio/gpiolib.c β plus, and i mean this literally, the entire extended universe:
gpio_to_desc(9)gpio_device_get_desc(9)desc_to_gpio(9)gpiod_hwgpio(9)gpiod_to_chip(9)gpiod_to_gpio_device(9)gpio_device_get_base(9)gpio_device_get_label(9)gpio_device_get_chip(9)gpiochip_find_base_unlocked(9)gpiod_is_equal(9)gpiod_get_direction(9)gpiod_is_single_ended(9)gpiochip_query_valid_mask(9)gpiochip_get_data(9)gpiochip_remove(9)gpio_device_find(9)gpio_device_find_by_label(9)gpio_device_find_by_fwnode(9)gpio_device_get(9)gpio_device_put(9)gpio_device_to_device(9)gpiochip_set_hierarchical_irqchip(9)gpiochip_irq_domain_activate(9)gpiochip_irq_domain_deactivate(9)gpiochip_irq_map(9)gpiochip_add_irqchip(9)gpiochip_irqchip_remove(9)gpiochip_irqchip_add_domain(9)gpiochip_generic_request(9)gpiochip_generic_free(9)gpiochip_generic_config(9)gpiochip_add_pingroup_range(9)gpiochip_add_pin_range_with_pins(9)gpiochip_remove_pin_ranges(9)gpiochip_dup_line_label(9)gpiochip_request_own_desc(9)gpiochip_free_own_desc(9)gpio_set_debounce_timeout(9)gpiod_direction_input(9)gpiod_direction_output_raw(9)gpiod_direction_output(9)gpiod_enable_hw_timestamp_ns(9)gpiod_disable_hw_timestamp_ns(9)gpiod_set_config(9)gpiod_set_debounce(9)gpiod_set_transitory(9)gpiod_is_active_low(9)gpiod_toggle_active_low(9)gpiod_get_raw_value(9)gpiod_get_value(9)gpiod_get_raw_array_value(9)gpiod_get_array_value(9)gpiod_set_raw_value(9)gpiod_set_value_nocheck(9)gpiod_set_value(9)gpiod_set_raw_array_value(9)gpiod_set_array_value(9)gpiod_cansleep(9)gpiod_set_consumer_name(9)gpiod_is_shared(9)gpiod_to_irq(9)gpiochip_lock_as_irq(9)gpiochip_unlock_as_irq(9)gpiod_get_raw_value_cansleep(9)gpiod_get_value_cansleep(9)gpiod_get_raw_array_value_cansleep(9)gpiod_get_array_value_cansleep(9)gpiod_set_raw_value_cansleep(9)gpiod_set_value_cansleep(9)gpiod_set_raw_array_value_cansleep(9)gpiod_add_lookup_tables(9)gpiod_set_array_value_cansleep(9)gpiod_add_lookup_table(9)gpiod_remove_lookup_table(9)fwnode_gpiod_get_index(9)gpiod_count(9)gpiod_get(9)gpiod_get_optional(9)gpiod_configure_flags(9)gpiod_get_index_optional(9)gpiod_hog(9)gpiochip_free_hogs(9)gpiod_get_array(9)gpiod_get_array_optional(9)gpiod_put(9)gpiod_put_array(9)
like, that's the whole friend group. go say hi π
source directory: ./drivers/gpio πΈ β dated October 2026 π
and that's the page bestie!! you understood it, i'm obsessed, periodt π β¨π¦ go forth and index responsibly π
π¦ 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