__irq_domain_alloc_fwnode(9)
β¨ __irq_domain_alloc_fwnode(9) β¨
okay so welcome to the Kernel API Manual bestie π this one's all about __irq_domain_alloc_fwnode β the lil' allocation helper for irq domain fwnodes. yes it's niche. yes it's iconic. let's go πΈ
π NAME π
__irq_domain_alloc_fwnode β literally allocate a fwnode_handle that's suitable for identifying an irq domain π¦
π SYNOPSIS π
struct fwnode_handle * __irq_domain_alloc_fwnode (unsigned int type ,
int id , const char *name , phys_addr_t *pa , struct fwnode_handle
*parent );
π ARGUMENTS π
typeβ the type ofirqchip_fwnode. peeplinux/irqdomain.hfor the deets πidβ an optional user-provided id, but only ifname != NULLπ«Άnameβ an optional user-provided domain name, no pressure β¨paβ an optional user-provided physical address πparentβ an optional parentfwnode_handleπ
π¦ DESCRIPTION π¦
So what it does is: allocate a struct irqchip_fwid, and hand you back a pointer to the embedded fwnode_handle (or NULL on failure, bestie β that's the flop era case π).
π₯ NOTE π₯
The types IRQCHIP_FWNODE_NAMED and IRQCHIP_FWNODE_NAMED_ID are solely there to transport name information to the irqdomain creation code. the node is not stored, periodt π
for other types the pointer is kept in the irq domain struct.
fr fr, don't assume the node gets stashed away for those two named types β it doesn't π
π SEE ALSO π
kernel file ./kernel/irq/irqdomain.c π and also these iconic friends:
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_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)
mwah π that's the whole page β sourced from ./kernel/irq, dated October 2026, and yeah it's the __irq_domain_alloc_fwnode(9) manual. go be a main character in your irq domain now π§π
π¦ 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