STRUCT MSI_DOMAIN_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct msi_domain_info(9) πŸ’–

okay so this is from the Kernel API Manual bestie, and it's literally the whole vibe of MSI interrupt domain data β€” like, all the info a domain needs to exist and slay ✨


🌸 NAME 🌸

struct msi_domain_info β€” MSI interrupt domain data. that's it, that's the girl πŸ’…


✨ SYNOPSIS ✨

struct msi_domain_info {
    u32 flags;
    enum irq_domain_bus_token       bus_token;
    unsigned int                    hwsize;
    struct msi_domain_ops           *ops;
    struct device                   *dev;
    struct irq_chip                 *chip;
    void *chip_data;
    irq_flow_handler_t handler;
    void *handler_data;
    const char                      *handler_name;
    msi_alloc_info_t *alloc_data;
    void *data;
 };

like, look at her. structurally flawless. no notes 🫢


πŸŽ€ Members πŸŽ€

  • flags β€” the flags that describe the features and capabilities, iykyk 🚩
  • bus_token β€” the domain bus token, it's giving passport energy πŸ›‚
  • hwsize β€” the hardware table size or the software index limit. and listen: if it's 0 then the size is considered unlimited, and it gets initialized to the maximum software index limit by the domain creation code. periodt ✨
  • ops β€” the callback data structure, the main character of the operation 🎬
  • dev β€” the device which creates the domain 🧚
  • chip β€” Optional: associated interrupt chip πŸ’œ
  • chip_data β€” Optional: associated interrupt chip data πŸ“
  • handler β€” Optional: associated interrupt flow handler 🌈
  • handler_data β€” Optional: associated interrupt flow handler data πŸ¦‹
  • handler_name β€” Optional: associated interrupt flow handler name 🏷️
  • alloc_data β€” Optional: associated interrupt allocation data πŸ’«
  • data β€” Optional: domain specific data, the little extra sprinkle on top πŸ”₯
bestie notice how many of these say Optional β€” like they're not mandatory, they're just there if the vibe calls for it πŸ’…

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./include/linux/msi.h β€” and the whole friend group:


and that's the whole page bestie, no cap πŸ˜­πŸ’–

this one lives in ./include/linux and it's dated October 2026 β€” so like, future iconic behavior fr fr πŸŽ€βœ¨πŸ¦‹

go off, read the source, stan the kernel πŸ’…πŸ‘‘

πŸ“¦ where this page comes from