STRUCT CLK_FIXED_RATE(9)
π struct clk_fixed_rate(9) π
okay so bestie, welcome to the Kernel API Manual β we're talking about struct clk_fixed_rate, aka the fixed-rate clock, and honestly? it's giving "I never change and I'm proud of it." a whole icon.
β¨ SYNOPSIS β¨
like, here's the shape of it, fr fr:
struct clk_fixed_rate {
struct clk_hw hw;
unsigned long fixed_rate;
unsigned long fixed_accuracy;
unsigned long flags;
};
that's the whole vibe. four fields. no notes. π
π Members π
hwβ the handle between the common interfaces and the hardware-specific ones. like the go-between, the mutual friend, the one who translates. π«Άfixed_rateβ the constant frequency of the clock. it's fixed. it's a rate. it does not switch up on you, not ever. πfixed_accuracyβ the constant accuracy of the clock in ppb (parts per billion). yes, per billion, we're being precise out here. β¨flagsβ hardware specific flags. the little extra personality settings, iykyk. πΈ
π Description π
so the flags section, bestie β there is literally one flag and it's kind of a big deal:
CLK_FIXED_RATE_PARENT_ACCURACYβ use the accuracy of the parent clk instead of what's set infixed_accuracy. so like, you could hardcode your own accuracy, but this flag says "nah, let me borrow my parent's." respectful. humble. love that for it. π¦
ngl, that's the entire description. one flag. iconic minimalism. π
π SEE ALSO π
okay this list is long long, so buckle in β it's the kernel file ./include/linux/clk-provider.h, the clk framework, and then a whole friend group of structs and functions:
flags(9)struct clk_rate_request(9)struct clk_duty(9)struct clk_spread_spectrum(9)struct clk_ops(9)struct clk_parent_data(9)struct clk_init_data(9)struct clk_hw(9)clk_hw_register_fixed_rate(9)devm_clk_hw_register_fixed_rate(9)devm_clk_hw_register_fixed_rate_parent_data(9)clk_hw_register_fixed_rate_parent_hw(9)clk_hw_register_fixed_rate_parent_data(9)clk_hw_register_fixed_rate_with_accuracy(9)clk_hw_register_fixed_rate_with_accuracy_parent_hw(9)clk_hw_register_fixed_rate_with_accuracy_parent_data(9)clk_hw_register_fixed_rate_parent_accuracy(9)struct clk_gate(9)clk_hw_register_gate(9)clk_hw_register_gate_parent_hw(9)clk_hw_register_gate_parent_data(9)devm_clk_hw_register_gate(9)devm_clk_hw_register_gate_parent_hw(9)devm_clk_hw_register_gate_parent_data(9)struct clk_divider(9)clk_register_divider(9)clk_hw_register_divider(9)clk_hw_register_divider_parent_hw(9)clk_hw_register_divider_parent_data(9)clk_hw_register_divider_table(9)clk_hw_register_divider_table_parent_hw(9)clk_hw_register_divider_table_parent_data(9)devm_clk_hw_register_divider(9)devm_clk_hw_register_divider_parent_hw(9)devm_clk_hw_register_divider_parent_data(9)devm_clk_hw_register_divider_table(9)struct clk_mux(9)struct clk_fixed_factor(9)devm_clk_hw_register_fixed_factor_parent_hw(9)struct clk_fractional_divider(9)struct clk_multiplier(9)clk_hw_get_dev(9)clk_hw_get_of_node(9)
like I said. a lot of friends. go read them, they're all slaying in their own lanes. ππ₯
and that's the page, bestie! this little beauty lives in ./include/linux and the version/date situation is October 2026 β so yeah, future-coded of it. mwah, go fix your clocks. π
β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms