STRUCT CLK_NOTIFIER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct clk_notifier(9)

okay so bestie, welcome to the Kernel API Manual page for struct clk_notifier β€” yes that's the actual manual name, no I'm not making it up, it's giving "kernel internals at 2am" energy and honestly? iconic. this is the little struct that hooks a clk up to a notifier, and we're gonna go through it together πŸŽ€


✨ NAME ✨

struct clk_notifier β€” associate a clk with a notifier πŸ’«

like, literally matchmaking but for kernel objects.


🌸 SYNOPSIS 🌸

struct clk_notifier {
    struct clk                      *clk;
    struct srcu_notifier_head       notifier_head;
    struct list_head                node;
 };

that's the whole struct, bestie. three members, zero drama. well, mostly zero drama πŸ™ˆ


πŸ’– Members πŸ’–

  • clk β€” a struct clk * that you're associating the notifier with 🫢 like, this is the clock. the main character of the struct, fr fr.
  • notifier_head β€” a blocking_notifier_head for this clk ⭐ (yes, that's what the page says β€” type in the struct is struct srcu_notifier_head, the description calls it a blocking_notifier_head, and I'm just relaying, not editorializing πŸ’€)
  • node β€” linked list pointers πŸ”— so it can vibe in the list with all its struct friends.

πŸ¦‹ Description πŸ¦‹

so the notifier code keeps a list of struct clk_notifiers. it's maintained by the notifier code, it's a whole thing, it's organized. πŸ’…

an entry gets created whenever code registers the first notifier on a particular clk πŸ‘‘ like the first one to show up gets to make the entry. main character move.

and after that? future notifiers on that same clk just get added to the notifier_head. no new entry, they just slide into the existing one. the way that works is honestly so satisfying ✨


🌈 SEE ALSO 🌈

okay this is the part where the manpage goes absolutely feral with cross-references, and I'm keeping every single one because I would never do you dirty like that. also first up, the kernel file itself:

./include/linux/clk.h

and then, in the exact order they appear:

bestie that is sixty references. sixty!! the clk subsystem said "here's the whole extended universe" and I respect it deeply 🫑

and that's the page!! πŸŽ€πŸ’œ hope the clk notifier situation is fully clear now, you're gonna slay those registrations, I believe in you.

cute little sign-off time: this one lives out of ./include/linux, stamped October 2026, and it's filed under struct clk_notifier(9) β€” go off, kernel docs, periodt βœ¨πŸ¦‹

πŸ“¦ where this page comes from