gpiochip_free_own_desc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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