scmi_notification_init(9)
π NAME π
scmi_notification_init β Initializes Notification Core Support
Hiii bestie, welcome to the Kernel API Manual β¨ this page is all about getting the notification core support set up, and honestly itβs giving βletβs build the group chat before anyone sends a messageβ energy.
β¨ SYNOPSIS β¨
int scmi_notification_init (struct scmi_handle *handle );
π ARGUMENTS π
handleβ the handle that identifies the platform instance youβre initializing. Basically: which platform bestie are we setting up? π«Ά
π¦ DESCRIPTION π¦
Okay so this function lays out all the basic resources needed by the notification core instance identified by the provided handle. Once thatβs done, all of the SCMI Protocols can register their events with the core during their own initializations. Periodt. π
Note bestie: failing to initialize the core notifications support does not cause the whole SCMI Protocols stack to fail its initialization. Itβs not a whole-stack cancellation, okay? π
SCMI Notification Initialization happens in 2 steps:
- initialization β basic common allocations (this function π)
- registration β protocols asynchronously come into life and registers their own supported list of events with the core; this causes further per-protocol allocations β¨
Any userβs callback registration attempt, referring a still not registered event, will be registered as pending and finalized later (if possible) by scmi_protocols_late_init work. This allows for lazy initialization of SCMI Protocols due to late (or missing) SCMI driversβ modules loading. Lowkey iconic behavior, ngl. π§
π RETURN π
Returns 0 on Success π
π SEE ALSO π
Okay this SEE ALSO list is a whole friend group, so letβs give them all their moment:
- Kernel file
./drivers/firmware/arm_scmi/notify.cTheory of operation(9) 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_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_quiesce(9)scmi_notification_exit(9)
Source/version: ./drivers/firmware/arm_scmi β’ Date: October 2026 β’ Manual: Kernel API Manual β’ Page: scmi_notification_init(9) β mwah πβ¨
π¦ 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