STRUCT THERMAL_GOVERNOR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct thermal_governor(9) β€” like, the Kernel API Manual page, bestie ✨

Okay so picture this: we're deep in the Kernel API Manual, right, and this page is all about struct thermal_governor β€” the literal blueprint that holds all your thermal governor info 🫢. Think of it as the glow-up container for everything a governor needs to know about itself. She's structured, she's organized, she's the main character of thermal management πŸ’–.


🌸 NAME 🌸

struct thermal_governor β€” the structure that holds thermal governor information. That's it, that's the vibe ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct thermal_governor {
    const char *name;
    int (*bind_to_tz)(struct thermal_zone_device *tz);
    void (*unbind_from_tz)(struct thermal_zone_device *tz);
    void (*trip_crossed)(struct thermal_zone_device *tz, const struct thermal_trip *trip, bool upward);
    void (*manage)(struct thermal_zone_device *tz);
    void (*update_tz)(struct thermal_zone_device *tz, enum thermal_notify_event reason);
    struct list_head        governor_list;
 };

Like, look at her. Every field is a little personality trait πŸ˜­πŸ’œ


πŸŽ€ Members πŸŽ€

Not me about to introduce each member like they're my closest friends. Anyway. Here we go πŸ‘‘
  • name β€” the name of the governor, fr fr. This is her government name, her whole identity πŸ’…
  • bind_to_tz β€” a callback that gets called when binding to a thermal zone. And okay so here's the tea: if it returns 0, the governor is bound to the thermal zone. Otherwise? It fails 😭 That's the deal. No notes.
  • unbind_from_tz β€” the callback called when a governor is unbound from a thermal zone. It's giving breakup arc πŸ’” but make it kernel internals.
  • trip_crossed β€” called for trip points that have just been crossed ⭐ Like a lil' notification that the line was just stepped over. She knows. She always knows.
  • manage β€” called on thermal zone temperature updates 🌑️✨ This is the moment where she actually gets to do her thing, bestie.
  • update_tz β€” a callback called when thermal zone internals have changed, e.g. when a thermal cooling instance was added/removed πŸ”₯ It's the "hey, the vibes shifted" callback.
  • governor_list β€” a node in thermal_governor_list (which lives in thermal_core.c) 🧚 That's the linked-list linkage, iykyk.

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/thermal/thermal_core.h
  • struct thermal_zone_device(9) β€” go read this one next, bestie, it's iconic πŸ‘‘

Okay so that's the whole page, no cap πŸ’– Ngl this one was kind of a serve. Anyway β€” big shoutout to the source: ./drivers/thermal, dated October 2026, and yes the page is literally titled struct thermal_governor(9) because we stan a self-titled queen πŸ‘‘βœ¨ Bye bestie, go manage some thermal zones! πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from