gpiod_set_value_cansleep(9)
π gpiod_set_value_cansleep(9) β like, the Kernel API Manual page you actually wanna read π
okay so bestie, welcome to the Kernel API Manual, and today's main character is gpiod_set_value_cansleep β she assigns a gpio's value and she does it while being allowed to nap. iconic behavior honestly.
β¨ NAME β¨
gpiod_set_value_cansleep β assign a gpio's value π«
πΈ SYNOPSIS πΈ
int gpiod_set_value_cansleep (struct gpio_desc *desc , int value );
π¦ ARGUMENTS π¦
descβ the gpio whose value will be assigned π«Ά (yes, this one, the one right there)valueβ the value to assign β
π DESCRIPTION π
So what she actually does: she sets the logical value of the GPIO β meaning she's taking its ACTIVE_LOW status into account. not raw, not feral, logical. the way she respects the inversion flag omg π
And the special sauce, the whole reason this function has _cansleep in her name:
This function is to be called from contexts that can sleep. π΄π€
fr fr, if you're in a context that can't sleep, you're in the wrong function bestie, don't do this to yourself π
π RETURN π
0on success π- a negative error number on failure π
π SEE ALSO π
okay so this is the part where she lists literally every single one of her friends and honestly? obsessed with the loyalty. here's the whole group chat, no gatekeeping, no cap:
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_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, the whole gpio extended universe is in here π§π
and there's a kernel file she wants you to know about too: ./drivers/gpio/gpiolib.c β that's where the lore lives, iykyk πβ¨
k that's the whole page bestie!! she's from ./drivers/gpio, dated October 2026, and she ate and left absolutely no crumbs π
π₯π ππ¦π
π¦ 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