STRUCT SCMI_EVENT_HEADER(9)
okay so bestie, you opened the Kernel API Manual page for struct scmi_event_header(9) and honestly? It's giving βsmall but important utility headerβ energy π
β¨ Stay for the lore, because every member and every SEE ALSO ref is coming with us.
π NAME π
struct scmi_event_header β A utility header. That's the whole vibe: a utility header, no cap.
β¨ SYNOPSIS β¨
Here's the exact shape, bestie:
struct scmi_event_header {
ktime_t timestamp;
size_t payld_sz;
unsigned char evt_id;
unsigned char payld[];
};
π«Ά Members π«Ά
Okay squad, member check:
timestampβ the timestamp, in nanoseconds (boottime), which was associated to this event as soon as it entered the SCMI RX ISR. Literally the event's little arrival receipt π°οΈ.payld_szβ the effective size of the embedded message payload which follows. Like, the real size of the payload that's coming after it.evt_idβ the event ID (corresponds to the Event MsgID for this Protocol). Capitalization matters, iykyk.payldβ a reference to the embedded event payload. The payload itself, bestie π.
πΈ Description πΈ
This header is prepended to each received event message payload before queueing it on the related struct events_queue. So yes, the header goes in front of the payload before the queueing situation happens β very organized, very main character energy β¨.
π₯ SEE ALSO π₯
If you want the full group chat, start with the kernel file ./drivers/firmware/arm_scmi/notify.c and Theory of operation(9), then scroll through the whole squad:
struct scmi_notify_instance(9)struct events_queue(9)struct scmi_registered_events_desc(9)struct scmi_registered_event(9)struct scmi_event_handler(9)scmi_lookup_and_call_event_chain(9)scmi_process_event_header(9)scmi_process_event_payload(9)scmi_events_dispatcher(9)scmi_notify(9)scmi_kfifo_free(9)scmi_initialize_events_queue(9)scmi_allocate_registered_events_desc(9)scmi_register_protocol_events(9)scmi_deregister_protocol_events(9)scmi_allocate_event_handler(9)scmi_free_event_handler(9)scmi_bind_event_handler(9)scmi_valid_pending_handler(9)scmi_register_event_handler(9)__scmi_event_handler_get_ops(9)scmi_get_active_handler(9)__scmi_enable_evt(9)scmi_put_handler_unlocked(9)scmi_event_handler_enable_events(9)scmi_notifier_register(9)scmi_notifier_unregister(9)scmi_devm_notifier_register(9)scmi_devm_notifier_unregister(9)scmi_protocols_late_init(9)scmi_notification_init(9)scmi_notification_quiesce(9)scmi_notification_exit(9)
mwah π this page lives under ./drivers/firmware/arm_scmi, dated October 2026, and it's the struct scmi_event_header(9) manual page β bye bestie, go slay those events πβ¨
π¦ 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