STRUCT EXYNOS_CPUCLK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay so bestie, welcome to struct exynos_cpuclk(9) from the Kernel API Manual β€” yes, that's the title and manual name folded right in here because we're cute like that. πŸ’– This page is all about struct exynos_cpuclk β€” information about clock supplied to a CPU core. No cap, that's the whole assignment. ✨

✨ SYNOPSIS ✨

       struct exynos_cpuclk {
           struct clk_hw                           hw;
           const struct clk_hw                     *alt_parent;
           void __iomem                            *base;
           spinlock_t *lock;
           unsigned long                           num_cfgs;
           struct notifier_block                   clk_nb;
           unsigned long                           flags;
           const struct exynos_cpuclk_chip         *chip;
           struct exynos_cpuclk_cfg_data           cfg[];
        };

🧩 Members 🧩

  • hw β€” handle between CCF and CPU clock. CCF girlies, this one's for you. πŸ’…
  • alt_parent β€” alternate parent clock to use when switching the speed of the primary parent clock. So when the primary parent is getting its speed switched, this is the alternate parent you reach for. πŸ¦‹
  • base β€” start address of the CPU clock registers block. Literally where the registers start, periodt. πŸŽ€
  • lock β€” cpu clock domain register access lock. Gotta keep that register access from getting messy. πŸ”’
  • num_cfgs β€” number of array elements in cfg array. It's giving "count the cfg girlies." πŸ“
  • clk_nb β€” clock notifier registered for changes in clock speed of the primary parent clock. It's on notifier duty for those speed changes. ⭐
  • flags β€” configuration flags for the CPU clock. Flags, flags, flags. 🌈
  • chip β€” chip-specific data for the CPU clock. Because different chips have different lore, iykyk. πŸ‘‘
  • cfg β€” cpu clock rate configuration data. That's the cfg[] array at the end, and num_cfgs is literally counting its elements. πŸ’œ

πŸ’« Description πŸ’«

Basically, this structure holds information required for programming the CPU clock for various clock speeds. That's the vibe: one struct, all the info you need, different speeds, iconic. ✨

πŸ”— SEE ALSO πŸ”—

  • Kernel file ./drivers/clk/samsung/clk-cpu.c β€” plus struct exynos_cpuclk_regs(9) and struct exynos_cpuclk_chip(9). Go read those next, bestie. πŸ¦‹

xoxo, your Unix bestie signing off from source/version ./drivers/clk/samsung, dated October 2026 πŸ’…βœ¨ and yes, this was struct exynos_cpuclk(9) the whole time. πŸŽ€

πŸ“¦ where this page comes from