clk_hw_regi..._parent_data(9)
π
clk_hw_regi..._parent_data(9) β from the Kernel API Manual, bestie β¨
okay so bestie. welcome to the group chat for kernel clock people π°οΈ. this one lives in the Kernel API Manual, and it's literally the page for clk_hw_register_divider_parent_data. it's giving "i make dividers and i know things" energy and i'm lowkey obsessed π.
β¨ NAME β¨
clk_hw_register_divider_parent_data β bestie, this is the one that registers a divider clock with the clock framework π. that's it. that's the whole job. iconic.
π¦ SYNOPSIS π¦
clk_hw_register_divider_parent_data (dev , name , parent_data , flags ,
reg , shift , width , clk_divider_flags , lock );
like, look at her. nine whole arguments. main character energy fr fr π.
πΈ ARGUMENTS πΈ
every single one matters, no skipping, i don't make the rules (the kernel does):
devβ the device that's registering this clock π«Ά. it's the one putting its name on the paperwork.nameβ the name of this clock, bestie. what you gonna call her π.parent_dataβ the parent clk data β¨. the family tree situation.flagsβ the framework-specific flags π©. framework says so, so you do it.regβ the register address you're gonna adjust the divider at π . go touch that register.shiftβ how many bits you shift the bitfield by π. math but make it fashion.widthβ the width of the bitfield π. how thicc that field is.clk_divider_flagsβ divider-specific flags for this clock π¦. yes, there are two flag arguments. yes, you need both. ngl this is a whole vibe.lockβ the shared register lock for this clock π. share it nice, please.
π§ SEE ALSO π§
okay so this is the part where i list literally everyone in the extended universe. no cap, every single one. iykyk π
first off, this is all documented in the Kernel file ./include/linux/clk-provider.h, and then the clk framework flags page:
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_hw(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 extended universe. ate and left no crumbs π.
π one last thing π
this page shipped from ./include/linux, dated October 2026, part of the Kernel API Manual β and that's on clk_hw_regi..._parent_data(9). periodt π
β¨π«Ά
π¦ 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