STRUCT OF_GENPD_PROVIDER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct of_genpd_provider(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so real talk: this is the page for struct of_genpd_provider(9) from the Kernel API Manual, and it's literally the glow-up form you fill out to register a PM domain provider ✨. It's the little struct that says "hi yes I have power domains, come get 'em" β€” and we're gonna go through every single field together, no skips, no cap πŸ’–.


✨ NAME ✨

struct of_genpd_provider β€” the PM domain provider registration structure 🫢 (yes that's its whole job and it ate).


🌸 SYNOPSIS 🌸

struct of_genpd_provider {
    struct list_head link;
    struct device_node *node;
    genpd_xlate_t xlate;
    void *data;
 };
lowkey stare at it for a sec β€” four fields, each one doing its little main character thing πŸ‘‘

πŸ¦‹ Members πŸ¦‹

  • link β€” the entry in the global list of PM domain providers. it's giving "add me to the group chat" energy πŸ”—
  • node β€” pointer to the device tree node of the PM domain provider. your provider's literal home address in the DT 🌳
  • xlate β€” provider-specific xlate callback that maps a set of specifier cells into a PM domain. bestie this is the translator β€” it takes those specifier cells and turns them into an actual PM domain, slay 🧚
  • data β€” context pointer to be passed into the xlate callback. the little bag of snacks xlate gets handed when it gets called πŸ“

πŸ’œ SEE ALSO πŸ’œ

the kernel file it all lives in is ./drivers/pmdomain/core.c β€” go say hi, it's iconic πŸ“

and now the full friend group, in order, every single one, because we don't do "etc." around here:

like, that's the whole squad, fifty-eight of them, fr fr πŸ˜­πŸ’…


ngl this page is short but it's doing the most β€” four fields carrying the entire provider registration vibe check πŸ”₯

okay that's the whole page bestie, go forth and register those PM domains πŸ‘‘

sign-off time: this lil masterpiece comes from the ./drivers/pmdomain corner of the kernel, dated October 2026, and it's titled struct of_genpd_provider(9) β€” periodt πŸ’–πŸŒΈβœ¨

πŸ“¦ where this page comes from