irq_create_direct_mapping(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… irq_create_direct_mapping(9) β€” like, the kernel API manual, bestie ✨

okay so real talk, this is a page from the Kernel API Manual and it's about irq_create_direct_mapping β€” literally the glow-up your irq controller gets when it wants to be the main character of interrupt numbering πŸŽ€ stay with me, it's actually so good.


✨ NAME ✨

irq_create_direct_mapping β€” allocate an irq for direct mapping πŸ¦‹


🌸 SYNOPSIS 🌸

unsigned int irq_create_direct_mapping (struct irq_domain *domain );

like yes, it returns an unsigned int, and yes, it takes exactly one thing. slay. πŸ’…


🫢 ARGUMENTS 🫢

  • domain β€” the domain you're allocating the irq for, or NULL for the default domain. that's it. that's the whole parameter list. iconic honestly.

πŸ‘‘ DESCRIPTION πŸ‘‘

so this routine exists for irq controllers that can, like, choose the hardware interrupt numbers they generate β€” they're picky in a cute way, they get a say πŸ’– and in that situation, the simplest vibe is to just use the linux irq as the hardware interrupt number. one number, doing double duty, no cap.

it still uses the linear or radix tree to store the mapping, so nothing's being skipped or skipped-ish β€” the bookkeeping is still there, bestie. but the irq controller can optimize the revmap path by using the hwirq directly πŸ”₯ like it gets a shortcut because it already knows where it's going. main character energy fr fr.


🌈 SEE ALSO 🌈

the whole group chat, in one long read-receipt πŸ’€ and also the kernel file ./kernel/irq/irqdomain.c:

like… go off, that's the entire extended family 🧚


ngl this page lives under ./kernel/irq, dated October 2026, and it's the irq_create_direct_mapping(9) page β€” so if you ever forget where you found it, that's the receipt πŸ“

and that's the whole thing, bestie β€” ily, go allocate something πŸ’œβ­

πŸ“¦ where this page comes from