irq_create_mapping_affinity(9)
π irq_create_mapping_affinity(9) β Kernel API Manual, but make it make sense π
okay bestie, so this one's from the Kernel API Manual and it's literally about giving your hardware interrupt a cute little home in linux irq space. it's giving matchmaker energy fr fr. let me walk you through it π«Ά
β¨ NAME β¨
irq_create_mapping_affinity β Map a hardware interrupt into linux irq space π
π¦ SYNOPSIS π¦
unsigned int irq_create_mapping_affinity (struct irq_domain *domain ,
irq_hw_number_t hwirq , const struct irq_affinity_desc *affinity );
like, that's the whole signature. iconic. don't touch it β¨
πΈ ARGUMENTS πΈ
domainβ the domain that owns this hardware interrupt, orNULLif you want the default domain. no domain? no problem, the default one's got you πhwirqβ the hardware irq number, as it lives inside that domain's space. that's its home address basically πaffinityβ the irq affinity. the whole vibe check of where this interrupt wants to hang out π₯
π DESCRIPTION π
k so, the rule here is only one mapping per hardware interrupt is permitted β no double-booking, no sharing, that's the law π and then it returns a linux irq number, slay β¨
one little heads-up tho: if you need to specify the sense/trigger, you gotta call set_irq_type on the number that came back from that call. like, after. on the returned number. don't skip that step bestie π
π§ SEE ALSO π§
all the sibling functions, in the flesh, no cap:
- 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_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_push_irq(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 π«Ά this one's filed under ./kernel/irq, dated October 2026, and it's irq_create_mapping_affinity(9) all the way down. go map some interrupts, main character πβ¨
π¦ 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