clk_hw_regis...cy_parent_hw(9)
π NAME π
okay bestie so clk_hw_register_fixed_rate_with_accuracy_parent_hw β say it three times fast, i dare you β is literally the function that registers a fixed-rate clock with the clock framework. that's the whole vibe. it's from the Kernel API Manual and it's giving "i have a very specific job and i do it flawlessly." periodt π
β¨ SYNOPSIS β¨
clk_hw_register_fixed_rate_with_accuracy_parent_hw (dev , name ,
parent_hw , flags , fixed_rate , fixed_accuracy );
look at that signature. immaculate. six arguments, no notes. πΈ
π ARGUMENTS π
so here's the group chat roster β every single one of these matters, don't skip a single one:
devβ the device that is registering this clock. like, who's filing the paperwork. π«Άnameβ the name of this clock. its whole identity fr.parent_hwβ pointer to parentclk. yes, everyone has a parent. even clocks. πflagsβ framework-specific flags. the little personality settings.fixed_rateβ non-adjustable clock rate. it is what it is, no cap. πfixed_accuracyβ non-adjustable clock accuracy. also unchangeable. also iconic for that. π₯
π¦ SEE ALSO π¦
okay this is the friendship circle, and it is long. grab a snack. π the kernel file it all lives in is ./include/linux/clk-provider.h β and here's the full crew, nobody left out:
- clk framework 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)struct clk_fixed_rate(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_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. the whole friend group. π§
ngl that SEE ALSO list is doing main character energy on its own, but it's all real and all worth a read if you're deep in clock-provider land. π
and that's the page, bestie! this one's from ./include/linux, dated October 2026 β mwah, slay, go register those fixed-rate clocks with accuracy and a parent_hw, you absolute legend. ππ
π¦ 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