STRUCT SCMI_NOTIFY_INSTANCE(9)
π struct scmi_notify_instance(9) π
okay so bestie, this is the Kernel API Manual page for struct scmi_notify_instance(9), and itβs giving βone notification-core instance per platform handleβ energy. Letβs get into it π
πΈ NAME πΈ
struct scmi_notify_instance β represents an instance of the notification core. Thatβs literally the whole name, and it ate.
β¨ SYNOPSIS β¨
Hereβs the exact struct, no cap β keep it character-for-character if youβre doing kernel things:
struct scmi_notify_instance {
void *gid;
struct scmi_handle *handle;
struct work_struct init_work;
struct workqueue_struct *notify_wq;
struct mutex pending_mtx;
unsigned long pending_events_handlers[1 << (( SCMI_PENDING_HASH_SZ)
- 1)];
struct scmi_registered_events_desc
*registered_protocols[SCMI_MAX_PROTO];
};
π Members π
Member-by-member vibe check, bestie β¨
gidβ the GroupID used for devres π«Άhandleβ a reference to the platform instance π₯init_workβ a work item to perform final initializations of pending handlers πΈnotify_wqβ a reference to the allocated Kernel cmwq πpending_mtxβ a mutex to protectpending_events_handlersπpending_events_handlersβ an hashtable containing all pending eventsβ handlers descriptors πregistered_protocolsβ a statically allocated array containing pointers to all the registered protocol-level specific information related to eventsβ handling π
π Description π
Each platform instance β the one represented by a handle β has its own instance of the notification subsystem, and this structure is literally that instance. Main character energy for every platform handle, fr fr π
π SEE ALSO π
Go read these too, bestie β the whole friend group:
- Kernel file
./drivers/firmware/arm_scmi/notify.c Theory of operation(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_init(9)scmi_notification_quiesce(9)scmi_notification_exit(9)
π sign-off time: source/version ./drivers/firmware/arm_scmi, date October 2026, page struct scmi_notify_instance(9) β bye bestie π«Ά
π¦ 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