STRUCT INGENIC_CGU_DIV_INFO(9)
โจ struct ingenic_cgu_div_info(9) โจ
okay so bestie, this is a page straight out of the Kernel API Manual โ the whole thing is about struct ingenic_cgu_div_info, which is literally just the little info packet that describes a clock divider ๐ buckle up, it's giving documentation but make it cute.
๐ NAME ๐
struct ingenic_cgu_div_info โ information about a divider. that's it, that's the vibe ๐
๐ง SYNOPSIS ๐ง
struct ingenic_cgu_div_info {
unsigned reg;
u8 shift;
u8 div;
u8 bits;
s8 ce_bit;
s8 busy_bit;
s8 stop_bit;
u8 bypass_mask;
const u8 *div_table;
};
๐ธ Members ๐ธ
bestie these are the fields, and yes every single one matters, no skipping ๐
regโ the offset of the divider control register, measured inside the CGU. it's giving "where do I even find this thing" energy.shiftโ how many bits you left shift the divide value by (like, the index of the lowest bit of the divide value inside its control register). lowkey the most important number here.divโ the number you divide the divider value by (i.e. when the effective divider value is the value written to the register multiplied by some constant โ math girlies rise ๐งฎ).bitsโ the size of the divide value, in bits. that's the whole width, periodt.ce_bitโ the index of the change enable bit withinreg, or-1if there literally isn't one. no bit, no problem ๐busy_bitโ the index of the busy bit withinreg, or-1if there isn't one. she's busy, or she's-1๐stop_bitโ the index of the stop bit withinreg, or-1if there isn't one. same deal, iconic behaviour.bypass_maskโ mask of parent clocks for which the divider does not apply. like, sorry div, not for you bestie โdiv_tableโ an optional table that maps the value you read from the register to the actual divider value. optional! but when she's there, she ATE ๐ฅ
๐ฆ SEE ALSO ๐ฆ
the kernel file ./drivers/clk/ingenic/cgu.h and honestly her whole friend group:
struct ingenic_cgu_pll_info(9)struct ingenic_cgu_mux_info(9)struct ingenic_cgu_fixdiv_info(9)struct ingenic_cgu_gate_info(9)struct ingenic_cgu_custom_info(9)struct ingenic_cgu_clk_info(9)struct ingenic_cgu(9)struct ingenic_clk(9)ingenic_cgu_new(9)ingenic_cgu_register_clocks(9)
ngl bestie, if you're messing withs8fields and-1sentinels, double-check before you write anything โ this page tells you what the fields are, not what happens when you get them wrong ๐
that's the whole page, mwah ๐ โ sourced from ./drivers/clk/ingenic, dated October 2026, and filed under struct ingenic_cgu_div_info(9) because that's her name and she's the main character ๐๐
๐ฆ 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