of_irq_parse_raw(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… of_irq_parse_raw β€” like, the manual page, bestie

Ok so you're looking at of_irq_parse_raw(9) from the Kernel API Manual, and honestly? She's a lowkey legend. Let's get into it 🫢


✨ NAME ✨

of_irq_parse_raw β€” low-level interrupt tree parsing. That's it, that's the vibe. 🌳


🌸 SYNOPSIS 🌸

int of_irq_parse_raw (const __be32 *addr , struct of_phandle_args
*out_irq );

Like, that's the whole signature, no cap. Copy it exactly, don't get cute with it πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • addr β€” the address specifier, and by that we mean the start of the "reg" property of the device, in be32 format. Big-endian girlie ✨
  • out_irq β€” a struct of_phandle_args that this function updates. She comes in as a struct and leaves updated, main character energy πŸ‘‘

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: this function is a low-level interrupt tree walking function. Like, it literally walks the tree. Iconic behaviour honestly 🌈

You can use it to do a partial walk with synthesized reg and interrupts properties β€” for example when you're resolving PCI interrupts and there's no device node existing for the parent. Situationship with the tree, iykyk πŸ™ˆ

What it actually does: it takes an interrupt specifier structure as input, walks the tree looking for any interrupt-map properties, translates the specifier for each map, and then returns the translated map. Slay, she translated it πŸ”₯


⭐ RETURN ⭐

0 on success and a negative number on error. Simple as that, fr fr πŸ’–


πŸ’€ NOTE πŸ’€

Heads up bestie β€” the refcount of the node out_irq->np is increased by 1 on success. So like, don't forget about her, she's holding a reference now 😭

🧚 SEE ALSO 🧚

Kernel file ./drivers/of/irq.c β€” plus this whole friend group:


Ok that's the whole page, you ate that πŸ“ This cutie came out of ./drivers/of and she's stamped October 2026 β€” so mark your calendar, bestie, and go parse some interrupt trees πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from