gpiod_set_debounce(9)
π gpiod_set_debounce(9)
okay so bestie, welcome to the Kernel API Manual page for gpiod_set_debounce(9) β the little function that tells a GPIO line "hey, chill for a sec before you count that as a real edge." Debounce is literally the thing standing between you and a hundred phantom interrupts from a janky button, so yeah, she's kind of a main character. π
β¨ NAME β¨
gpiod_set_debounce β sets @debounce time for a GPIO
No cap, that's the whole job. One line, one time value, vibes only. π¦
πΈ SYNOPSIS πΈ
int gpiod_set_debounce (struct gpio_desc *desc , unsigned int debounce
);
π«Ά ARGUMENTS π«Ά
descβ descriptor of the GPIO for which to set debounce time. like, the specific line you're obsessed with rn πdebounceβ debounce time in microseconds. that's the window where the hardware is like "nope, not yet, still settling" β³
β RETURN β
0on success β slay, it worked π-ENOTSUPPif the controller doesn't support setting the debounce time β not every chip has this feature bestie, and that's on them π
π SEE ALSO π
Also from the kernel file ./drivers/gpio/gpiolib.c, a whole friend group of GPIO functions β every single one of them, no skips, no cuts π§:
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_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)
and that's the whole page, bestie!! π
<tul>sign-off szn</tul> β this lil masterpiece lives in ./drivers/gpio, dated October 2026, and it's page gpiod_set_debounce(9) of the Kernel API Manual. go set some debounce times, ily, bye πβ¨
π¦ 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