irq_domain_push_irq(9)
π irq_domain_push_irq β the Kernel API Manual page, bestie edition β¨
okay so this is a page from the Kernel API Manual, and today's main character is irq_domain_push_irq(9) π she's a lil function with a big job and honestly? she ate.
πΈ NAME πΈ
irq_domain_push_irq β push a domain in to the top of a hierarchy. that's it, that's the vibe π¦
β¨ SYNOPSIS β¨
int irq_domain_push_irq (struct irq_domain *domain , int virq , void
*arg );
like, the signature is right there, copy it exactly, no cap π
π«Ά ARGUMENTS π«Ά
domainβ the domain you're pushing. yes, she's the one getting shoved to the top of the hierarchy, and she's thriving about it πvirqβ the irq you're pushing the domain in to. that's her target, her chosen one πargβ this gets passed straight to theirq_domain_opsalloc function. so like, it's not decorative, it actually gets used π
π« DESCRIPTION π«
okay so picture this: you already got an existing irqdomain hierarchy, maybe you got it from a call to pci_enable_msix, and now you wanna add an additional domain to the head of the processing chain. that's her. that's what this does. main character energy at the front of the line π
β οΈ real talk though β this must be called before request_irq has been called. like, before. not after. not during. before. don't test her π
π₯ SEE ALSO π₯
the whole squad, fr fr β kernel file ./kernel/irq/irqdomain.c:
__irq_domain_alloc_fwnode(9)irq_domain_free_fwnode(9)irq_domain_instantiate(9)irq_domain_remove(9)irq_domain_create_simple(9)irq_find_matching_fwspec(9)irq_set_default_domain(9)irq_get_default_domain(9)irq_create_direct_mapping(9)irq_create_mapping_affinity(9)irq_dispose_mapping(9)__irq_resolve_mapping(9)irq_domain_xlate_onecell(9)irq_domain_xlate_twocell(9)irq_domain_xlate_twothreecell(9)irq_domain_xlate_onetwocell(9)irq_domain_translate_onecell(9)irq_domain_translate_twocell(9)irq_domain_translate_twothreecell(9)irq_domain_reset_irq_data(9)irq_domain_disconnect_hierarchy(9)irq_domain_get_irq_data(9)irq_domain_set_hwirq_and_chip(9)irq_domain_set_info(9)irq_domain_free_irqs_common(9)irq_domain_free_irqs_top(9)__irq_domain_alloc_irqs(9)irq_domain_pop_irq(9)irq_domain_free_irqs(9)irq_domain_alloc_irqs_parent(9)irq_domain_free_irqs_parent(9)irq_domain_activate_irq(9)irq_domain_deactivate_irq(9)
and that's the page!! π§ source is ./kernel/irq, dated October 2026, and it's literally titled irq_domain_push_irq(9) β go forth and push those domains, bestie, ily π
π¦ 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