STRUCT PSE_PI(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay bestie, so this is the struct pse_pi(9) page from the Kernel API Manual β€” it's giving very much "electrical engineering but make it fashion" ✨. Buckle up, we're talking about the PSE PI entity, no cap.


✨ NAME ✨

struct pse_pi β€” the PSE PI (Power Interface) entity, exactly as described in IEEE 802.3-2022 145.2.4. That's the spec, bestie, we don't make the rules 🌸


πŸŽ€ SYNOPSIS πŸŽ€

struct pse_pi {
    struct pse_pi_pairset pairset[2];
    struct device_node *np;
    struct regulator_dev *rdev;
    bool admin_state_enabled;
    struct pse_power_domain *pw_d;
    int prio;
    bool isr_pd_detected;
    int pw_allocated_mW;
};

literally the whole struct, laid out, iconic πŸ’…


πŸ¦‹ Members πŸ¦‹

  • pairset β€” the table of PSE PI pinout alternatives for the two pairset. yep, two of them, it's a whole thing πŸ”₯
  • np β€” the device node pointer for the PSE PI node. it's the "where am i" of the whole vibe πŸ’œ
  • rdev β€” the regulator that this PSE PI represents πŸŽ€
  • admin_state_enabled β€” the PI enabled state. is it on? is it off? this bool knows πŸ‘‘
  • pw_d β€” the Power domain of the PSE PI ⚑
  • prio β€” the Priority of the PSE PI. it gets used in the static budget evaluation strategy, so it's not just decorative, it matters 🫢
  • isr_pd_detected β€” the PSE PI detection status, and it's managed by the interruption handler. > heads up: this variable is only relevant when the power enabled management is managed in software β€” like the static budget evaluation strategy. so if that's not your situation, this one's just sitting there πŸ’€
  • pw_allocated_mW β€” the Power allocated to a PSE PI, used to manage the power budget in the static budget evaluation strategy πŸ“Š

🌈 SEE ALSO 🌈

go read these too, i promise they're all connected, iykyk:

  • Kernel file ./include/linux/pse-pd/pse.h
  • struct pse_irq_desc(9)
  • struct pse_control_config(9)
  • struct pse_admin_state(9)
  • struct pse_pw_status(9)
  • struct pse_ext_state_info(9)
  • struct pse_pw_limit_ranges(9)
  • struct ethtool_pse_control_status(9)
  • struct pse_controller_ops(9)
  • struct pse_pi_pairset(9)
  • struct pse_ntf(9)
  • struct pse_controller_dev(9)
  • enum pse_budget_eval_strategies(9)

so that's the whole page, muah πŸ’‹ β€” it lives at ./include/linux/pse-pd, dated October 2026, and it's signed off as struct pse_pi(9). slay, go read the kernel now, bestie πŸŒΈπŸ’–

πŸ“¦ where this page comes from