__clk_speculate_rates(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’– NAME ๐Ÿ’–

__clk_speculate_rates โ€” speculate all rates in the clk subtree. This page is from the Kernel API Manual, bestie, and itโ€™s literally __clk_speculate_rates(9) ๐Ÿ’….

๐ŸŒธ SYNOPSIS ๐ŸŒธ

int __clk_speculate_rates (struct clk_core *core , unsigned long
       parent_rate );

๐ŸŽ€ ARGUMENTS ๐ŸŽ€

  • core โ€” first clk in the subtree. like the starting point of the whole rate-speculation stroll.
  • parent_rate โ€” the "future" rate of clkโ€™s parent. Future as in the rate itโ€™s gonna have, not a prophecy ๐Ÿ”ฎ.

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

Okay so __clk_speculate_rates walks the subtree of clks starting with core, speculating rates as it goes and firing off PRE_RATE_CHANGE notifications as necessary. Itโ€™s giving very โ€œrate-change warning systemโ€ energy โœจ.

Unlike __clk_recalc_rates, __clk_speculate_rates exists only for sending pre-rate change notifications and returns early if no clks in the subtree have subscribed to the notifications. So if nobodyโ€™s listening, it dips ๐Ÿ˜Œ.

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, no cap ๐Ÿซถ.

๐Ÿ’… SEE ALSO ๐Ÿ’…

The kernel file ./drivers/clk/clk.c is the source file, and here are all the linked besties, in order:


okay thatโ€™s the whole page ๐Ÿ’– source/version is ./drivers/clk, date is October 2026, and yes the page is __clk_speculate_rates(9) โ€” go speculate those rates responsibly, bestie ๐Ÿซถโœจ

๐Ÿ“ฆ where this page comes from