gpiochip_free_own_desc(9)
π gpiochip_free_own_desc(9) β a Kernel API Manual moment
okay so bestie, we're in the Kernel API Manual today and this one's short, sweet, and honestly a little iconic. it's gpiochip_free_own_desc(9) and no cap, it's the "clean up after yourself" girlie of the GPIO world β¨
β¨ NAME β¨
gpiochip_free_own_desc β free a GPIO that was requested by the chip driver π
like, the chip driver asked for it, so the chip driver gives it back. mutual respect. we love to see it.
πΈ SYNOPSIS πΈ
void gpiochip_free_own_desc (struct gpio_desc *desc );
that's it. that's the whole vibe check. one argument, returns void (literally nothing, she gives nothing back except freedom π¦).
π«Ά ARGUMENTS π«Ά
descβ the GPIO descriptor to free. that's desc as in "descriptor", not "descending", keep up bestie π this is the exact same descriptor you handed in earlier.
π DESCRIPTION π
so here's the tea: this function frees the given GPIO that was previously requested with gpiochip_request_own_desc. that's the whole thing. it's the other half of the pair β you request, you free. give and take. balance. main character energy π₯
no extra parameters, no flags, no drama. just desc in, void out, and that GPIO is released back into the wild. π
ngl bestie, there's literally nothing else in the description, so don't go looking for hidden lore. what you see is what you get, fr fr.
π SEE ALSO π
bestie, buckle up, because this section is a whole friend group π every single one of these is in the kernel file ./drivers/gpio/gpiolib.c β that's the source location, right there, no gatekeeping:
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),
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(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)
iykyk π and yeah β gpiochip_request_own_desc(9) is right there in the middle, the bestie this whole page exists for. π₯Ή
and that's the page, bestie! π this lil gem lives over in ./drivers/gpio, dated October 2026, in the Kernel API Manual β go free those descriptors responsibly and slay ππ§ββοΈ
π¦ 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