of_msi_xlate(9)
β¨ of_msi_xlate(9) β¨
Okay so bestie, this is the manual page for of_msi_xlate(9) β it's giving "kernel API manual" energy and honestly it's kind of iconic. Let's get into it π
πΈ SYNOPSIS πΈ
u32 of_msi_xlate (struct device *dev , struct device_node **msi_np , u32 id_in );
π ARGUMENTS π
devβ the device we're doing the mapping for. Like, the main character here. πmsi_npβ Pointer to the target MSI controller node, orNULLif you're just here for the translated ID and don't even need the controller node. Okay so there's some nuance here, pay attention bestie:- If it's non-
NULLand pointing to a non-NULLnode, then only entries targeting that specific node will be matched. Narrow it down, periodt. - If it's non-
NULLand pointing toNULL, it will receive the first matching target node with a reference held. A little gift on the way out π
- If it's non-
id_inβ the Device ID. That's it, that's the whole thing.
π¦ DESCRIPTION π¦
So what this function does is literally walk up the device hierarchy looking for devices with a "msi-map" or "msi-parent" property. If it finds one β slay β it applies the mapping to id_in. That's the whole vibe check right there. No cap.
β RETURN β
The mapped MSI id. That's the answer, bestie. π«Ά
π SEE ALSO π
- Kernel file
./drivers/of/irq.cβirq_of_parse_and_map(9),of_irq_find_parent(9),of_irq_parse_raw(9),of_irq_parse_one(9),of_irq_to_resource(9),of_irq_get(9),of_irq_get_byname(9),of_irq_count(9),of_irq_to_resource_table(9),of_irq_init(9),of_msi_map_get_device_domain(9),of_msi_get_domain(9),of_msi_configure(9)
Fr fr, go read those if you want the full lore. Iykyk π
And that's the whole page, bestie! This one lives in ./drivers/of and the date on it is October 2026 β so yeah, it's lowkey from the future β¨π§π
π¦ 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