of_map_msi_id(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

of_map_msi_id β€” Translate an ID using "msi-map" bindings. This is the of_map_msi_id(9) page from the Kernel API Manual, section 9, and yes bestie, we’re getting into it πŸ’–


🌸 SYNOPSIS 🌸

int of_map_msi_id (const struct device_node *np , u32 id , struct
       device_node * const *filter_np , struct of_phandle_args *arg );

πŸ’… ARGUMENTS πŸ’…

  • np β€” root complex device node. That’s the starting point, the main character of this lookup πŸ”₯
  • id β€” Requester ID of the device (e.g. PCI RID/BDF or a platform stream/device ID) used as the lookup key in the msi-map table.
  • filter_np β€” pointer to an optional filter node, or NULL to allow bypass. If non-NULL, the map property must exist (-ENODEV if absent). If *filter_np is also non-NULL, only entries targeting that node match.
  • arg β€” pointer to a struct of_phandle_args for the result. On success, arg->args_count will be set to the number of output specifier cells and arg->args[0..args_count-1] will contain the translated output specifier values. If a map entry was matched, arg->np holds a reference to the target node that the caller must release with of_node_put.

πŸ¦‹ DESCRIPTION πŸ¦‹

Convenience wrapper around of_map_id using "msi-map", "#msi-cells", and "msi-map-mask". Lowkey just a cute little wrapper doing the translate thing, but the details matter, periodt πŸ’œ


πŸ”₯ RETURN πŸ”₯

0 on success or a standard error code on failure. Short, sweet, iconic.


πŸ‘‘ SEE ALSO πŸ‘‘

The og source file is ./drivers/of/base.c, and the whole SEE ALSO squad is right here β€” no skips, no cuts, full lineup 🌈


Catch you in ./drivers/of β€” dated October 2026, page of_map_msi_id(9). Mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from