clk_rate_exclusive_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

Hiii bestie πŸ’– welcome to the Kernel API Manual page for clk_rate_exclusive_get(9) β€” yes, the whole manual, and yes we're getting into it.

🌸 NAME 🌸

clk_rate_exclusive_get β€” get exclusivity over the rate control of a producer πŸ‘‘


✨ SYNOPSIS ✨

int clk_rate_exclusive_get (struct clk *clk );

πŸŽ€ ARGUMENTS πŸŽ€

  • clk β€” clock source πŸ•°οΈ

πŸ’… DESCRIPTION πŸ’…

Okay so picture this: a driver wants to be the only one calling the shots on a clock provider's rate. That's literally what this function is for ✨. It lets drivers get exclusive control over the rate of a provider, and it stops any other consumer from executing β€” even indirectly β€” an operation that could alter the provider's rate or cause glitches. No cap.

If exclusivity is claimed more than once on a clock, even by the same driver, the rate effectively gets locked, because exclusivity can't be preempted. So like… double-claim and it's locked-locked. Periodt. πŸ’…

Warning, bestie: clk_rate_exclusive_get must not be called from within atomic context. That's a hard no. 🚫😭

Returns success (0) or a negative errno.


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/clk.h β€” and the whole clock-adjacent friend group πŸ’–:


Mwah πŸ’‹ β€” this page came from the Kernel API Manual, lives at ./include/linux, and is dated October 2026. The page's own name is clk_rate_exclusive_get(9), and yes she ate. πŸŽ€βœ¨

πŸ“¦ where this page comes from