gpiod_get_ra...lue_cansleep(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– gpiod_get_raw_value_cansleep(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual, section 9 β€” yes we're in the kernel docs, and no you don't have to be scared, i got you 🫢


✨ NAME ✨

gpiod_get_raw_value_cansleep β€” literally just returns a gpio's raw value. that's the whole job. icon behavior honestly πŸ‘‘


🌸 SYNOPSIS 🌸

int gpiod_get_raw_value_cansleep (const struct gpio_desc *desc );

like yes that's it, that's the function signature, copy it exactly pls, don't get cute with it πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • desc β€” the gpio whose value is gonna be returned, bestie. that's who we're reading. give it what it wants.

⭐ RETURN ⭐

so what do you get back? the GPIO's raw value β€” meaning the value of the physical line, disregarding its ACTIVE_LOW status. like, we are NOT doing the active-low flip here, we're looking at the actual line, raw, unfiltered, no makeup πŸ’€

or, if things go sideways: a negative errno on failure. that's it. that's the deal.


πŸ¦‹ DESCRIPTION πŸ¦‹

This function is to be called from contexts that can sleep. periodt. so like β€” if you're somewhere that sleeping is not allowed, this is not your girl, check the non-cansleep version instead, iykyk 🌈


πŸ’œ SEE ALSO πŸ’œ

okay this list is a whole friend group, buckle up 🧚

Kernel file ./drivers/gpio/gpiolib.c β€” and then, in exactly this order:

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_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)

no cap, that's every single one, i counted twice 😭🫢


πŸ’‘ friendly reminder bestie: this is the cansleep one, so only call it from a context that can sleep. don't be the main character who ignores that, it will not slay.

okay and finally, the cute little sign-off: this page lives under ./drivers/gpio in the kernel source tree, dated October 2026, and it's part of the Kernel API Manual, section 9. bye bestie, go read some gpios πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from