STRUCT DIV6_CLOCK(9)
π 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 the1-64range. 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
- 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