STRUCT DIV6_CLOCK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct div6_clock β€” it's giving CPG 6 bit divider clock, bestie. That's the whole assignment, and honestly? Iconic. πŸ’…

✨ SYNOPSIS ✨

Okay so here's the struct shape, and yes, you're gonna want to keep every field exactly as written:

struct div6_clock {
    struct clk_hw hw;
    void __iomem *reg;
    unsigned int div;
    u32 src_mask;
    struct notifier_block nb;
    u8 parents[];
};

🫢 Members 🫢

  • hw β€” the handle between common and hardware-specific interfaces. It's literally the go-between, no cap. πŸ¦‹
  • reg β€” IO-remapped register. That's the register situation, mapped and ready. ✨
  • div β€” divisor value, and it lives in the 1-64 range. Stay in range, bestie, it's not a suggestion. πŸ’€
  • src_mask β€” bitmask covering the register bits to select the parent clock. It's giving "which parent?" energy. 🌸
  • nb β€” notifier block to save/restore clock state for system resume. Resume needs its little state back, okay? 😭
  • parents β€” array to map from valid parent clocks indices to hardware indices. Literally the mapping bestie, iykyk. πŸ”₯

🌈 SEE ALSO 🌈

Kernel file ./drivers/clk/renesas/clk-div6.c and cpg_div6_register(9). Go read, slay, repeat. πŸŽ€


source ./drivers/clk/renesas Β· October 2026 Β· struct div6_clock(9) β€” byeee, mwah πŸ’œ

πŸ“¦ where this page comes from