STRUCT INGENIC_CGU_CLK_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay so bestie, this page is struct ingenic_cgu_clk_info(9) from the Kernel API Manual, and it's literally information about a clock. That's the whole NAME vibe. no cap πŸ’…


✨ SYNOPSIS ✨

Here's the struct in all its iconic glory β€” copy it exactly, bestie, because every field is the moment:

       struct ingenic_cgu_clk_info {
           const char *name;
           enum {
             CGU_CLK_NONE = 0,
             CGU_CLK_EXT = BIT(0),
             CGU_CLK_PLL = BIT(1),
             CGU_CLK_GATE = BIT(2),
             CGU_CLK_MUX = BIT(3),
             CGU_CLK_MUX_GLITCHFREE = BIT(4),
             CGU_CLK_DIV = BIT(5),
             CGU_CLK_FIXDIV = BIT(6),
             CGU_CLK_CUSTOM = BIT(7),
           } type;
           unsigned long flags;
           int parents[4];
           union {
             struct ingenic_cgu_pll_info pll;
             struct {
               struct ingenic_cgu_gate_info gate;
               struct ingenic_cgu_mux_info mux;
               struct ingenic_cgu_div_info div;
               struct ingenic_cgu_fixdiv_info fixdiv;
             };
             struct ingenic_cgu_custom_info custom;
           };
        };
quick vibe check: the type bitmask is formed from those CGU_CLK_* values right there in the enum β€” CGU_CLK_NONE, CGU_CLK_EXT, CGU_CLK_PLL, CGU_CLK_GATE, CGU_CLK_MUX, CGU_CLK_MUX_GLITCHFREE, CGU_CLK_DIV, CGU_CLK_FIXDIV, CGU_CLK_CUSTOM. iykyk ✨

πŸ‘‘ Members πŸ‘‘

  • name β€” name of the clock. iconic. πŸŽ€
  • type β€” a bitmask formed from CGU_CLK_* values. yep, a bitmask, not a single vibe. ✨
  • flags β€” common clock flags to set on this clock. set them, bestie. 🫢
  • parents β€” an array of the indices of potential parents of this clock within the clock_info array of the CGU, or -1 in entries which correspond to no valid parent. literally the parent index list, and -1 means no valid parent there. no cap. πŸ’–
  • {unnamed_union} β€” anonymous. it's giving unnamed union energy. πŸ™ˆ
  • pll β€” information valid if type includes CGU_CLK_PLL. πŸ”₯
  • {unnamed_struct} β€” anonymous. unnamed struct moment. πŸ¦‹
  • gate β€” information valid if type includes CGU_CLK_GATE. πŸŽ€
  • mux β€” information valid if type includes CGU_CLK_MUX. 🌈
  • div β€” information valid if type includes CGU_CLK_DIV. πŸ“
  • fixdiv β€” information valid if type includes CGU_CLK_FIXDIV. πŸ’œ
  • custom β€” information valid if type includes CGU_CLK_CUSTOM. πŸ’…

🌟 SEE ALSO 🌟

Kernel file ./drivers/clk/ingenic/cgu.h β€” and the whole squad is: struct ingenic_cgu_pll_info(9), struct ingenic_cgu_mux_info(9), struct ingenic_cgu_div_info(9), struct ingenic_cgu_fixdiv_info(9), struct ingenic_cgu_gate_info(9), struct ingenic_cgu_custom_info(9), struct ingenic_cgu(9), struct ingenic_clk(9), ingenic_cgu_new(9), ingenic_cgu_register_clocks(9). go read them, bestie. πŸ“š


mwah πŸ’‹ source/version: ./drivers/clk/ingenic; date: October 2026; manual: struct ingenic_cgu_clk_info(9). bye bestie! πŸ’–

πŸ“¦ where this page comes from