STRUCT SCMI_PROTOCOL_EVENTS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct scmi_protocol_events(9) β€” Kernel API Manual πŸŽ€

okay bestie, welcome to the Kernel API Manual entry for struct scmi_protocol_events β€” this is the whole vibe of one SCMI protocol's event situation, like a little profile page for all the events a protocol has going on. it's giving "per-protocol description of available events" and honestly? iconic. ✨


🌸 NAME 🌸

struct scmi_protocol_events β€” the per-protocol description of available events, fr fr. it's the struct that tells everyone what events a protocol supports and how to handle them. πŸ¦‹


✨ SYNOPSIS ✨

struct scmi_protocol_events {
    size_t queue_sz;
    const struct scmi_event_ops     *ops;
    const struct scmi_event         *evts;
    unsigned int                    num_events;
    unsigned int                    num_sources;
};

πŸ’– Members πŸ’–

  • queue_sz β€” the size, in bytes, of the per-protocol queue you're gonna use. gotta know how much room you're working with, no cap. πŸ“
  • ops β€” array of the protocol-specific events operations. like, the actual how-to-do-the-thing instructions for these events. πŸ› οΈ
  • evts β€” array of the protocol's supported events. the whole guest list, basically. 🎟️
  • num_events β€” how many supported events are actually described in evts. gotta match the list, bestie. πŸ”’
  • num_sources β€” the number of protocol's sources, and it should be greater than 0 β€” like, zero sources is not the vibe. ⚠️ if this isn't available at compile time, it gets provided at run-time via get_num_sources. the way that it just shows up later? flexible queen. πŸ‘‘
heads up babes: num_sources should be greater than 0. if it's not known at compile time, get_num_sources comes through with it at run-time. πŸ’…

🫢 SEE ALSO 🫢

  • Kernel file ./drivers/firmware/arm_scmi/notify.h
  • struct scmi_event(9)
  • struct scmi_event_ops(9)

and that's the whole page, bestie β€” go read that header file and slay πŸ’–

source/version + date check: this one lives under ./drivers/firmware/arm_scmi, dated October 2026, and the page itself is struct scmi_protocol_events(9). πŸŽ€βœ¨πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from