irq_domain_push_irq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 the irq_domain_ops alloc 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:


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