STRUCT CLK_HW_OMAP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct clk_hw_omap(9) β€” like, the OMAP struct clk πŸ’–

okay bestie, welcome to the Kernel API Manual ✨ this one's all about struct clk_hw_omap, which is literally the OMAP version of a struct clk. lowkey iconic, highkey specific. let's get into it 🫢


🌸 NAME 🌸

struct clk_hw_omap β€” the OMAP struct clk. that's it, that's the vibe πŸ’…


✨ SYNOPSIS ✨

here's the whole glow-up, member by member, no cap:

struct clk_hw_omap {
    struct clk_hw           hw;
    struct list_head        node;
    unsigned long           fixed_rate;
    u8 fixed_div;
    struct clk_omap_reg     enable_reg;
    u8 enable_bit;
    unsigned long           flags;
    struct clk_omap_reg     clksel_reg;
    struct dpll_data        *dpll_data;
    const char              *clkdm_name;
    struct clockdomain      *clkdm;
    const struct clk_hw_omap_ops    *ops;
    u32 context;
    int autoidle_count;
 };

πŸŽ€ Members πŸŽ€

the main characters, one by one πŸ‘‘

  • node β€” a list_head that links this clock into the full clock list. it's giving "i know everybody at this party" energy πŸ”₯
  • enable_reg β€” the register you write to when you wanna enable the clock (peep enable_bit). honestly the on switch 🫢
  • enable_bit β€” the bitshift you write to enable/disable the clock (peep enable_reg). tiny but powerful, fr fr πŸ’…
  • flags β€” see "struct clk.flags possibilities" above. yes, above. go look πŸ‘€
  • clksel_reg β€” for clksel clks, this is the register va holding the src/divisor select. very demure, very selector 🌸
  • dpll_data β€” for DPLLs, it's a pointer to the struct dpll_data for this clock. DPLL girlies stay winning πŸ’œ
  • clkdm_name β€” the clockdomain name that this clock is contained in. name tag at the function πŸŽ€
  • clkdm β€” pointer to the struct clockdomain, resolved from clkdm_name at runtime. so it's the actual domain, not just the name β€” character development ✨
  • ops β€” the clock ops for this clock. the whole personality tbh πŸ¦‹

🌈 SEE ALSO 🌈

go read these next, i'm obsessed:

  • Kernel file ./include/linux/clk/ti.h
  • struct clk_omap_reg(9)
  • struct dpll_data(9)
  • struct clk_hw_omap_ops(9)
  • struct ti_clk_ll_ops(9)

ok that's the whole page bestie, you ate that πŸ’– stay curious, keep reading headers, and remember: the enable_bit is nothing without the enable_reg. iykyk πŸ’…βœ¨

and finally, a lil sign-off πŸŽ€ this cutie lives over in ./include/linux/clk, it's dated October 2026, and you can find it filed under struct clk_hw_omap(9). mwah πŸ’‹πŸ«ΆπŸŒ·

πŸ“¦ where this page comes from