gpiochip_generic_free(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… gpiochip_generic_free(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” yes we're reading kernel API docs together, this is our life now, and honestly? iconic. this one's about letting go. releasing. freeing a pin from its gpio function. very main character, very "thank u, next" energy. πŸ¦‹


✨ NAME ✨

gpiochip_generic_free β€” free the gpio function from a pin πŸ•ŠοΈ

like, the pin's done with its gpio era and we're sending it off. periodt.


🌸 SYNOPSIS 🌸

void gpiochip_generic_free (struct gpio_chip *gc , unsigned int offset );

no return value, she just does it. void and unbothered. πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • gc β€” the gpiochip to request the gpio function for πŸ’– like, this is the chip we're talking about, the whole squad.
  • offset β€” the offset of the GPIO to free from GPIO function 🎯 this is the specific pin getting its freedom back.

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/gpio/gpiolib.c β€” and okay, the friend group here is massive, so buckle up, we're doing the full roll call, no cap, every single one:

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_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(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 gc, fr fr. go say hi. 🫢


πŸ’€ reminder bestie: this page lives in the kernel docs, so the "free" here is freeing a pin from the GPIO function β€” don't go reading it as "free the memory" or you WILL have a bad time. read the arguments, they're right there. πŸ’–

and that's the page!! mwah πŸ’‹ this gem came to you courtesy of ./drivers/gpio, dated October 2026, and it's gpiochip_generic_free(9) out. slay, stay hydrated, and free those pins responsibly. βœ¨πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from