gpiod_set_array_value(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… gpiod_set_array_value(9) β€” the kernel API manual, bestie edition

okay so, before we even start: this is a page from the Kernel API Manual, section 9, and the whole thing is about gpiod_set_array_value. yes, the array one. the group-chat version of "set a value" πŸŽ€


✨ NAME ✨

gpiod_set_array_value β€” assign values to an array of GPIOs

like, plural. many at once. we love efficiency πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

int gpiod_set_array_value (unsigned int array_size , struct gpio_desc
**desc_array , struct gpio_array *array_info , unsigned long
*value_bitmap );

she takes four things and gives you back an int. that's it. that's the whole vibe check ✨


🌸 ARGUMENTS 🌸

  • array_size β€” how many elements are in the descriptor array / value bitmap. basically the headcount of your little GPIO squad πŸ‘‘
  • desc_array β€” the array of GPIO descriptors whose values will be assigned. these are the girlies getting their new looks πŸ”₯
  • array_info β€” info on whether the fast bitmap processing path applies here. think of it as the "can we skip the line" pass 🎟️
  • value_bitmap β€” the bitmap of values to assign. the actual lewks, bit by bit 🌈

πŸ’– DESCRIPTION πŸ’–

So she sets the logical values of the GPIOs β€” and bestie, that means she's taking their ACTIVE_LOW status into account. yes, the polarity girlies get their moment. not me being obsessed with correctness 😭

Also, important, highkey: this function can be called from contexts where we cannot sleep, and she will complain if the GPIO chip functions potentially sleep. so like… read the room before you call her from an atomic context, fr fr πŸ’€


⭐ RETURN ⭐

  • 0 on success πŸŽ‰
  • negative errno on failure πŸ˜”

🫢 SEE ALSO 🫢

the whole friend group, no gatekeeping πŸ’œ β€”

Kernel file ./drivers/gpio/gpiolib.c

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_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. you ate that 🫢

this little masterpiece lives in ./drivers/gpio, and it's stamped October 2026 β€” so yes, she's from the future and she's still iconic πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from