scmi_notify(9)
π scmi_notify β kernel API manual, bestie edition β¨
okay so like, this page is scmi_notify(9) from the Kernel API Manual and honestly it's giving "quiet little function that does SO much" energy π. Short page, but it's a load-bearing baddie, so let's not sleep on it.
πΈ NAME πΈ
scmi_notify β queues a notification for further deferred processing β¨
like, it takes the notification and goes "bestie, not right now, we'll handle you later" and honestly? respect π
π¦ SYNOPSIS π¦
int scmi_notify (const struct scmi_handle *handle , u8 proto_id , u8
evt_id , const void *buf , size_t len , ktime_t ts );
returns an int, takes six args, zero drama. no cap π₯
π ARGUMENTS π
handleβ the handle identifying the platform instance from which the dispatched event is generated π«Ά like, which platform is this event coming from, that one right there.proto_idβ Protocol ID (u8) β¨evt_idβ Event ID (msgID) π«bufβ Event Message Payload, but without the header β do not bring the header to this party, it is not invited πlenβ Event Message Payload size πΈtsβ RX Timestamp in nanoseconds, and it's boottime β±οΈ periodt.
π CONTEXT π
Called in interrupt context to queue a received event for deferred processing π
literally the whole point: you're in interrupt context, you cannot be doing a whole essay of work in there, so this queues it up for later. main character energy: defer the glow-up π
β RETURN β
0 on Success β
(that's the whole list, she's a simple girlie)
π SEE ALSO π
the kernel file ./drivers/firmware/arm_scmi/notify.c β and Theory of operation(9), the lore drop you absolutely should read before diving in π§
the whole squad, in order, no one left out:
struct scmi_notify_instance(9), struct events_queue(9), struct scmi_event_header(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_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)
iykyk ππ¦
that's the whole page bestie, short and iconic π she lives in ./drivers/firmware/arm_scmi and this edition dropped October 2026 β bye, love u, go read the Theory of operation πβ¨π
π¦ 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