STRUCT CLK_MULTIPLIER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct clk_multiplier(9) πŸ’–

okay bestie, welcome to the Kernel API Manual entry for struct clk_multiplier β€” the adjustable multiplier clock. it's giving clock-provider main character energy, and we are gonna keep every single field, flag, and SEE ALSO reference because that's the whole vibe. no cap, every detail stays. periodt. πŸ’…

🌸 NAME 🌸

struct clk_multiplier β€” an adjustable multiplier clock. that's it, that's the name, and she's iconic. πŸŽ€

✨ SYNOPSIS ✨

struct clk_multiplier {
    struct clk_hw   hw;
    void __iomem    *reg;
    u8 shift;
    u8 width;
    u8 flags;
    spinlock_t *lock;
 };

πŸŽ€ Members πŸŽ€

  • hw β€” the handle between common and hardware-specific interfaces. lowkey the bridge between two worlds. πŸŒ‰
  • reg β€” the register containing the multiplier. that's where the multiplier lives, bestie. 🏠
  • shift β€” the shift to the multiplier bit field. yes, bit-shifting, we stay precise. ✨
  • width β€” the width of the multiplier bit field. gotta know how many bits we're working with. πŸ“
  • flags β€” the behavior switches, and here's the tea, because each one matters:
    • CLK_MULTIPLIER_ZERO_BYPASS β€” by default, the multiplier is the value read from the register, with 0 being a valid value that effectively zeroes the output clock rate. if CLK_MULTIPLIER_ZERO_BYPASS is set, then a null multiplier will be considered as a bypass, leaving the parent rate unmodified. so 0 stops being "rate = zero" and becomes "bypass, don't touch parent." πŸ’€
    • CLK_MULTIPLIER_ROUND_CLOSEST β€” makes the best calculated divider to be rounded to the closest integer instead of the down one. no floor-core behavior here. 🎯
    • CLK_MULTIPLIER_BIG_ENDIAN β€” by default little endian register accesses are used for the multiplier register. setting this flag makes the register accesses big endian. endianness check, slay. 🧚
  • lock β€” the register lock. protect the register, bestie. πŸ”’

πŸ’« Description πŸ’«

Clock with an adjustable multiplier affecting its output frequency. Implements .recalc_rate, .set_rate and .determine_rate. she ate and left no crumbs. πŸ”₯

πŸ”₯ SEE ALSO πŸ”₯


xoxo, your kernel bestie πŸ’‹ β€” source/version: ./include/linux, date: October 2026. struct clk_multiplier(9) is out. stay slaying, babes πŸ’–

πŸ“¦ where this page comes from