include/linux/pse-pd/pse.h
Source file repositories/reference/linux-study-clean/include/linux/pse-pd/pse.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/pse-pd/pse.h- Extension
.h- Size
- 14679 bytes
- Lines
- 422
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/list.hlinux/netlink.hlinux/kfifo.huapi/linux/ethtool.huapi/linux/ethtool_netlink_generated.hlinux/regulator/driver.h
Detected Declarations
struct net_devicestruct phy_devicestruct pse_controller_devstruct netlink_ext_ackstruct ethtool_c33_pse_ext_state_infostruct ethtool_c33_pse_pw_limit_rangestruct pse_irq_descstruct pse_control_configstruct pse_admin_statestruct pse_pw_statusstruct pse_ext_state_infostruct pse_pw_limit_rangesstruct ethtool_pse_control_statusstruct pse_controller_opsstruct modulestruct device_nodestruct of_phandle_argsstruct pse_controlstruct ethtool_pse_control_statusstruct pse_pi_pairsetstruct pse_pistruct pse_ntfstruct pse_controller_devstruct deviceenum pse_pi_pairset_pinoutenum pse_budget_eval_strategiesfunction pse_control_putfunction pse_ethtool_set_configfunction pse_ethtool_set_pw_limitfunction pse_ethtool_set_priofunction pse_has_podlfunction pse_has_c33
Annotated Snippet
struct ethtool_c33_pse_ext_state_info {
enum ethtool_c33_pse_ext_state c33_pse_ext_state;
union {
enum ethtool_c33_pse_ext_substate_error_condition error_condition;
enum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable;
enum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted;
enum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim;
enum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected;
enum ethtool_c33_pse_ext_substate_power_not_available power_not_available;
enum ethtool_c33_pse_ext_substate_short_detected short_detected;
u32 __c33_pse_ext_substate;
};
};
struct ethtool_c33_pse_pw_limit_range {
u32 min;
u32 max;
};
/**
* struct pse_irq_desc - notification sender description for IRQ based events.
*
* @name: the visible name for the IRQ
* @map_event: driver callback to map IRQ status into PSE devices with events.
*/
struct pse_irq_desc {
const char *name;
int (*map_event)(int irq, struct pse_controller_dev *pcdev,
unsigned long *notifs,
unsigned long *notifs_mask);
};
/**
* struct pse_control_config - PSE control/channel configuration.
*
* @podl_admin_control: set PoDL PSE admin control as described in
* IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl
* @c33_admin_control: set PSE admin control as described in
* IEEE 802.3-2022 30.9.1.2.1 acPSEAdminControl
*/
struct pse_control_config {
enum ethtool_podl_pse_admin_state podl_admin_control;
enum ethtool_c33_pse_admin_state c33_admin_control;
};
/**
* struct pse_admin_state - PSE operational state
*
* @podl_admin_state: operational state of the PoDL PSE
* functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState
* @c33_admin_state: operational state of the PSE
* functions. IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState
*/
struct pse_admin_state {
enum ethtool_podl_pse_admin_state podl_admin_state;
enum ethtool_c33_pse_admin_state c33_admin_state;
};
/**
* struct pse_pw_status - PSE power detection status
*
* @podl_pw_status: power detection status of the PoDL PSE.
* IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus:
* @c33_pw_status: power detection status of the PSE.
* IEEE 802.3-2022 30.9.1.1.5 aPSEPowerDetectionStatus:
*/
struct pse_pw_status {
enum ethtool_podl_pse_pw_d_status podl_pw_status;
enum ethtool_c33_pse_pw_d_status c33_pw_status;
};
/**
* struct pse_ext_state_info - PSE extended state information
*
* @c33_ext_state_info: extended state information of the PSE
*/
struct pse_ext_state_info {
struct ethtool_c33_pse_ext_state_info c33_ext_state_info;
};
/**
* struct pse_pw_limit_ranges - PSE power limit configuration range
*
* @c33_pw_limit_ranges: supported power limit configuration range. The driver
* is in charge of the memory allocation.
*/
struct pse_pw_limit_ranges {
struct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges;
};
Annotation
- Immediate include surface: `linux/list.h`, `linux/netlink.h`, `linux/kfifo.h`, `uapi/linux/ethtool.h`, `uapi/linux/ethtool_netlink_generated.h`, `linux/regulator/driver.h`.
- Detected declarations: `struct net_device`, `struct phy_device`, `struct pse_controller_dev`, `struct netlink_ext_ack`, `struct ethtool_c33_pse_ext_state_info`, `struct ethtool_c33_pse_pw_limit_range`, `struct pse_irq_desc`, `struct pse_control_config`, `struct pse_admin_state`, `struct pse_pw_status`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.