clk_hw_regi...er_parent_hw(9)
πΈ clk_hw_register_divider_parent_hw β NAME β¨
okay so bestie, this is the Kernel API Manual page for clk_hw_register_divider_parent_hw β and what it does is register a divider clock with the clock framework π
that's the whole vibe, that's the whole function.
π SYNOPSIS
clk_hw_register_divider_parent_hw (dev , name , parent_hw , flags , reg
, shift , width , clk_divider_flags , lock );
like, nine arguments, no cap. she's a lot but she's worth it π«Ά
π ARGUMENTS
devβ the device that's registering this clock, iykyk. it's giving "who do I belong to."nameβ the name of this clock β¨ literally just what you're gonna call her.parent_hwβ pointer to the parent clk π your clock's mom, basically.flagsβ framework-specific flags. the general-purpose ones, not the divider ones, keep that distinction bestie πregβ the register address you're adjusting the divider in. where the magic happens.shiftβ number of bits to shift the bitfield. shift her, slay πwidthβ width of the bitfield. how thicc the field is, respectfully.clk_divider_flagsβ divider-specific flags for this clock π these are the divider ones, not the framework ones, don't mix them up pls.lockβ the shared register lock for this clock π sharing is caring, but also safety.
π¦ SEE ALSO
okay so the rabbit hole is deep, buckle up buttercup, every single one of these:
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(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. deep. but honestly iconic of her to be so connected π
ngl bestie, this one's just registering a divider clock β no scary warnings on this page, so go off and register responsibly π§
and that's the whole page, periodt π this lil beauty lives over in ./include/linux and it was dated October 2026 β catch you in the kernel, bestie, mwah ππ
π¦ 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