gpiochip_query_valid_mask(9)
π gpiochip_query_valid_mask β the whole vibe β¨
okay so bestie, welcome to the Kernel API Manual, section 9, and today's main character is gpiochip_query_valid_mask π
like yes the name is a mouthful but she's literally the "which pins are actually real" girlie and we're obsessed π
β¨ NAME β¨
gpiochip_query_valid_mask β returns the GPIO validity information π¦
πΈ SYNOPSIS πΈ
const unsigned long * gpiochip_query_valid_mask (const struct gpio_chip
*gc );
π ARGUMENTS π
- gc β the gpio chip whose validity information is being queried. yeah that's the whole assignment, she's the one we're interrogating π
β RETURN β
A bitmap representing the valid GPIOs, or NULL if all GPIOs are valid. so like π no bitmap = nothing's broken = every pin is invited to the party, periodt π
π DESCRIPTION π
Some GPIO chips are lowkey built for configurations where a few of the pins justβ¦ aren't available π and those chips can set valid_mask to represent the valid GPIOs. this function is how you go retrieve that info β it's giving "let me check who's actually on the guest list before I start handing out invites" π«Άβ¨
ngl bestie, if you skip this and assume every pin works, that's on you π
π SEE ALSO π
first up, the kernel file: ./drivers/gpio/gpiolib.c β that's where the magic lives π§ and then, okay, the crossover episode is REAL, here is everyone in this cinematic universe, 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_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_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 extended friend group π tag yourself, i'm gpiod_put_array(9) π
and that's the tea bestie β this page lives in ./drivers/gpio, dated October 2026, filed under gpiochip_query_valid_mask(9) π slay, go read your GPIOs responsibly π₯π
π¦ 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