gpiochip_irqchip_add_domain(9)
π gpiochip_irqchip_add_domain(9) β the kernel API manual, but make it make sense
okay bestie, so you found yourself in section 9 of the kernel API manual, which is where all the real driver-kid lore lives. buckle up, this one's short but iconic β¨
πΈ NAME πΈ
gpiochip_irqchip_add_domain β adds an irqdomain to a gpiochip
like... it literally does what it says on the tin, and honestly? we love a transparent function π«Ά
π SYNOPSIS π
int gpiochip_irqchip_add_domain (struct gpio_chip *gc , struct
irq_domain *domain );
it returns an int, it takes two pointers, and it's not here to play games π
π¦ ARGUMENTS π¦
gcβ the gpiochip that's getting the irqchip. this is the main character of the operation πdomainβ the irqdomain you're adding to that gpiochip. your plus-one, your ride-or-die π
β DESCRIPTION β
so this function adds an IRQ domain to the gpiochip. that's it. that's the whole description. no cap, the manpage really is that brief π
but like, lowkey that's the beauty of it β one job, done well, no unnecessary side quests π§
π₯ RETURN π₯
0on success β slay, we ate, periodt β- negative
errnoon failure β not slay, something went wrong, check your errno and go touch some grass π
π SEE ALSO π
and now, the moment you've all been waiting for: the entire extended friend group of gpiolib functions. fr fr, this is the group chat π
the kernel file ./drivers/gpio/gpiolib.c is the source of all this wisdom, and here's every single one of its besties:
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_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 roster. every single one. iykyk π
and that's the page, bestie! π it came to you from <pink>./drivers/gpio</pink> in <purple>October 2026` β go forth and register those irq domains, you absolute icon ππ¦β¨
π¦ 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