STRUCT PSE_CONTROLLER_DEV(9)
π NAME π
struct pse_controller_dev β the PSE controller entity that might provide multiple PSE controls. Periodt. This page is living in the Kernel API Manual, and it's giving "one controller, multiple PSE controls" energy. Slay. π¦
β¨ SYNOPSIS β¨
Okay bestie, here's the struct in all its iconic, exact glory:
struct pse_controller_dev {
const struct pse_controller_ops *ops;
struct module *owner;
struct list_head list;
struct list_head pse_control_head;
struct device *dev;
int of_pse_n_cells;
unsigned int nr_lines;
struct mutex lock;
enum ethtool_pse_types types;
struct pse_pi *pi;
bool no_of_pse_pi;
int irq;
unsigned int pis_prio_max;
u32 supp_budget_eval_strategies;
struct work_struct ntf_work;
struct pse_ntf *ntf_fifo;
spinlock_t ntf_fifo_lock;
};
πΈ Members πΈ
Vibe check on every single field, because they all matter, no cap:
opsβ a pointer to device specificstruct pse_controller_ops. That's the ops hookup, iykyk. πownerβ the kernel module of the PSE controller driver. Gotta know who owns it, fr fr. π«Άlistβ internal list of PSE controller devices. Lowkey the group chat of controllers. πpse_control_headβ head of internal list of requested PSE controls. Head of the list, head of the class. πdevβ corresponding driver model device struct. The literal device bestie. πΈof_pse_n_cellsβ number of cells in PSE line specifiers. Counting cells like it's a spreadsheet, periodt. β¨nr_linesβ number of PSE controls in this controller device. That's the line count, bestie. π₯lockβ the mutex for serialization access to the PSE controller. She keeps things from getting messy. πtypesβ types of the PSE controller. Plural types, plural vibes. πpiβ table of PSE PIs described in this controller device. Table? More like a whole roster. πno_of_pse_piβ flag set if thepse_pisdevicetree node is not used. Not me checking devicetree nodes... πirqβ PSE interrupt. The interrupt queen herself. β‘pis_prio_maxβ Maximum value allowed for the PSE PIs priority. Big priority energy. πsupp_budget_eval_strategiesβ budget evaluation strategies supported by the PSE. Long name, main character responsibility. πntf_workβ workqueue for PSE notification management. Handling notifications like a boss. π§ntf_fifoβ PSE notifications FIFO. First in, first out, iconic behavior. πntf_fifo_lockβ protectntf_fifowriter. Don't let those writers race, bestie. π
π SEE ALSO π
Kernel file ./include/linux/pse-pd/pse.h is the source bestie, and here's the whole linked entourage:
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_pi(9)struct pse_ntf(9)enum pse_budget_eval_strategies(9)
Source/version: ./include/linux/pse-pd Β· date: October 2026 Β· page: struct pse_controller_dev(9) β that's the whole tea β, now go be the main character of your kernel docs πβ¨
π¦ 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