clk_hw_regis..._parent_data(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– clk_hw_regis..._parent_data(9) πŸ’–

okay so real talk, bestie β€” this is a page from the Kernel API Manual, and the function name is so long it literally got truncated to clk_hw_regis..._parent_data. iconic behavior tbh. anyway, let's get into it 🫢


✨ NAME ✨

clk_hw_register_gate_parent_data β€” registers a gate clock with the clock framework. that's it, that's the whole vibe. you're making a gate clock and telling the clock framework about it πŸ’…


🌸 SYNOPSIS 🌸

clk_hw_register_gate_parent_data (dev , name , parent_data , flags , reg
, bit_idx , clk_gate_flags , lock );

eight arguments. EIGHT. not me counting them like a spreadsheet 😭 ok let's go through every single one, no skipping, periodt.


πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the device that is registering this clock. it's the one signing the paperwork, basically the main character here πŸ‘‘
  • name β€” name of this clock. give it a cute one, it's gonna live in the framework forever πŸ’œ
  • parent_data β€” parent clk data. it's the struct clk_parent_data situation, aka where this clock gets its ancestry from 🧬
  • flags β€” framework-specific flags for this clock. the generic ones, not the gate-y ones β€” those come later, keep scrolling 🌈
  • reg β€” register address to control gating of this clock. this is where the on/off switch physically lives πŸ”₯
  • bit_idx β€” which bit in the register controls gating of this clock. one specific bit. choose wisely 🎯
  • clk_gate_flags β€” gate-specific flags for this clock. yes, different from flags. yes, you need both. i don't make the rules ✨
  • lock β€” shared register lock for this clock. it's the group-chat mute button so nobody touches the register at the same time πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

okay this list is LONG, so buckle up β€” every single reference, coming at you 🌸

first up, the kernel file itself: ./include/linux/clk-provider.h, plus clk framework flags(9) β€” and then the whole extended family:

like i said. LONG. but now you know the whole clock-provider friend group 🫢


lowkey a flex that you made it to the bottom of a kernel API page. your brain is huge, no cap πŸ’–βœ¨

and that's a wrap, bestie! this gem lives in ./include/linux and the page is dated October 2026 β€” so go forth, register those gate clocks, and slay πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from