clk_hw_register_divider(9)
π clk_hw_register_divider
okay so bestie, welcome to the clk_hw_register_divider(9) page from the Kernel API Manual β¨ β this is the one where you tell the clock framework "hey, here's a divider clock, pls take care of it" π
πΈ NAME πΈ
clk_hw_register_divider β register a divider clock with the clock framework π°οΈβ¨
π¦ SYNOPSIS π¦
clk_hw_register_divider (dev , name , parent_name , flags , reg , shift
, width , clk_divider_flags , lock );
like, that's the whole call, no cap π
β¨ ARGUMENTS β¨
okay so here's every single thing you gotta hand over, one by one π«Ά
devβ the device that's registering this clock. it's giving "this is my clock, I'm its person" πnameβ the name of this clock. yep, you gotta name it. main character energy πparent_nameβ the name of the clock's parent. every icon needs an ancestor fr fr πflagsβ framework-specific flags. the vibe check parameters, if you will βregβ the register address to adjust the divider. this is where the actual bits live πshiftβ how many bits to shift the bitfield. slide to the left, slide to the right πwidthβ the width of the bitfield. how many bits wide this whole situation is πclk_divider_flagsβ divider-specific flags for this clock. yes, there are two kinds of flags, don't @ me πlockβ a shared register lock for this clock. sharing is caring, but like, thread-safely π
ngl, if you mix upflagsandclk_divider_flagsthat's a whole mood and also probably a bug. two different flag piles, bestie π
π₯ SEE ALSO π₯
the whole friend group, assembled πΈ grab a snack, this is a long guest list:
- Kernel file
./include/linux/clk-provider.h 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_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_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)
k that's the whole page, you ate that π β¨
this lil love letter lives in ./include/linux π version date October 2026 πΈ and it's still out here being clk_hw_register_divider(9) β mwah, bye bestie, go register some 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