scmi_notify(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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