scmi_notifier_register(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ scmi_notifier_register(9) β€” the "sign me up for this event bestie" page ✨

okay so real talk, this one lives in the Kernel API Manual and it's genuinely one of those little glue functions that makes the whole SCMI notification machine go brrr. Let's get into it πŸ’…


🌸 NAME 🌸

scmi_notifier_register β€” register a notifier_block for an event, that's literally it, that's the whole vibe πŸŽ€


⭐ SYNOPSIS ⭐

int scmi_notifier_register (const struct scmi_handle *handle , u8
proto_id , u8 evt_id , const u32 *src_id , struct notifier_block *nb );

like yes it's five arguments, don't panic, we're gonna go through every single one πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • handle β€” the handle that identifies which platform instance you're registering the callback against. it's giving "who am I even talking to" energy, and the answer is this parameter 🫢
  • proto_id β€” Protocol ID. yep. just the protocol id.
  • evt_id β€” Event ID. also does exactly what it says on the tin ✨
  • src_id β€” Source ID. important detail: when it's NULL, you're registering for events coming from ALL possible sources. all of them. every last one πŸ™ˆ
  • nb β€” a standard notifier_block that you register for the specified event. standard. not fancy. still iconic πŸ’–

πŸ’œ DESCRIPTION πŸ’œ

so this is a generic helper that registers a notifier_block against a protocol event. no cap, that's the whole job.

A notifier_block nb gets registered for each distinct event identified by the tuple (proto_id, evt_id, src_id), and each one goes on its own dedicated notification chain, so that:

(proto_X, evt_Y, src_Z) --> chain_X_Y_Z

the meaning of src_id is protocol specific β€” it identifies the origin of the event, like domain_id, sensor_id and so forth. iykyk πŸ”₯

and here's the slay part: src_id can be NULL to signify that the caller is interested in receiving notifications from ALL the available sources for that protocol, OR simply that the protocol doesn't support distinct sources at all. either way, you're covered 🧚

as soon as one user for the specified tuple appears, a handler gets created, and that specific event's generation is enabled at the platform level β€” unless an associated registered event is found missing 😭 which means the needed protocol is still to be initialized, and the handler has just been registered as still pending. it's giving "we'll call you, we promise" energy πŸ’€


🌈 RETURN 🌈

0 on Success. that's it. 0 on Success. periodt πŸ‘‘


πŸŽ€ SEE ALSO πŸŽ€

bestie there are so many of them, buckle up, because this list is a whole friend group:

go read them. all of them. i'll wait πŸ’…


okay that's the whole page!! this little gem ships out of ./drivers/firmware/arm_scmi, dated October 2026 β€” so like, mark your calendar bestie, and go register some notifiers πŸ¦‹πŸ’–βœ¨

πŸ“¦ where this page comes from