__clk_recalc_rates(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– __clk_recalc_rates(9) β€” Kernel API Manual πŸ’–

okay so bestie, welcome to the Kernel API Manual page for __clk_recalc_rates(9) β€” yes, the double-underscore girlie is the main character here. We’re about to walk a clk subtree and recalculate rates, and honestly? She ate. ✨

✨ NAME ✨

__clk_recalc_rates β€” recalculate all rates in the clk subtree πŸ’…

🌸 SYNOPSIS 🌸

void __clk_recalc_rates (struct clk_core *core , bool update_req ,
       unsigned long msg );

πŸŽ€ ARGUMENTS πŸŽ€

  • core β€” the first clk in the subtree, aka where this whole little walk begins. 🫢
  • update_req β€” tells you whether req_rate should be updated with the new rate. no cap, that’s the whole vibe check for this one.
  • msg β€” the notification type (see include/linux/clk.h). iconic little enum-adjacent moment. ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

So __clk_recalc_rates walks the subtree of clks starting with core and recalculates rates as it goes. Literally just strolling through the clk subtree, doing rate math, being useful. πŸ’…

πŸŽ€ Important note, bestie: if a clk does not implement the .recalc_rate callback then it is assumed that the clock will take on the rate of its parent. That’s the rule, periodt.

__clk_recalc_rates also propagates the POST_RATE_CHANGE notification, if necessary. So yes, she’s not just recalculating β€” she’s also handling the notification business when it’s needed. πŸ”₯

πŸ’… SEE ALSO πŸ’…

Kernel file ./drivers/clk/clk.c and struct clk_core(9) β€” plus the whole bestie group chat of clk-related references:

🫢 that’s the whole page, bestie β€” brought to you by the source/version ./drivers/clk, dated October 2026, and still serving __clk_recalc_rates(9) energy at the very end. πŸ’–βœ¨
πŸ“¦ where this page comes from