drivers/net/ethernet/marvell/prestera/prestera.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/marvell/prestera/prestera.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/marvell/prestera/prestera.h- Extension
.h- Size
- 9694 bytes
- Lines
- 418
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/notifier.hlinux/skbuff.hlinux/workqueue.hlinux/phylink.hnet/devlink.huapi/linux/if_ether.h
Detected Declarations
struct prestera_fw_revstruct prestera_flood_domainstruct prestera_mdb_entrystruct prestera_flood_domain_portstruct prestera_port_statsstruct prestera_port_capsstruct prestera_lagstruct prestera_flow_blockstruct prestera_port_mac_statestruct prestera_port_phy_statestruct prestera_port_mac_configstruct prestera_port_phy_configstruct prestera_portstruct prestera_devicestruct prestera_port_eventstruct prestera_fdb_eventstruct prestera_eventstruct prestera_ifacestruct prestera_switchdevstruct prestera_spanstruct prestera_rxtxstruct prestera_trap_datastruct prestera_aclstruct prestera_switchstruct prestera_routerstruct prestera_rxtx_paramsenum prestera_event_typeenum prestera_rxtx_event_idenum prestera_port_event_idenum prestera_fdb_entry_typeenum prestera_fdb_event_idenum prestera_if_typefunction prestera_writefunction prestera_read
Annotated Snippet
struct prestera_fw_rev {
u16 maj;
u16 min;
u16 sub;
};
struct prestera_flood_domain {
struct prestera_switch *sw;
struct list_head flood_domain_port_list;
u32 idx;
};
struct prestera_mdb_entry {
struct prestera_switch *sw;
struct prestera_flood_domain *flood_domain;
unsigned char addr[ETH_ALEN];
u16 vid;
};
struct prestera_flood_domain_port {
struct prestera_flood_domain *flood_domain;
struct net_device *dev;
struct list_head flood_domain_port_node;
u16 vid;
};
struct prestera_port_stats {
u64 good_octets_received;
u64 bad_octets_received;
u64 mac_trans_error;
u64 broadcast_frames_received;
u64 multicast_frames_received;
u64 frames_64_octets;
u64 frames_65_to_127_octets;
u64 frames_128_to_255_octets;
u64 frames_256_to_511_octets;
u64 frames_512_to_1023_octets;
u64 frames_1024_to_max_octets;
u64 excessive_collision;
u64 multicast_frames_sent;
u64 broadcast_frames_sent;
u64 fc_sent;
u64 fc_received;
u64 buffer_overrun;
u64 undersize;
u64 fragments;
u64 oversize;
u64 jabber;
u64 rx_error_frame_received;
u64 bad_crc;
u64 collisions;
u64 late_collision;
u64 unicast_frames_received;
u64 unicast_frames_sent;
u64 sent_multiple;
u64 sent_deferred;
u64 good_octets_sent;
};
#define PRESTERA_AP_PORT_MAX (10)
struct prestera_port_caps {
u64 supp_link_modes;
u8 supp_fec;
u8 type;
u8 transceiver;
};
struct prestera_lag {
struct net_device *dev;
struct list_head members;
u16 member_count;
u16 lag_id;
};
struct prestera_flow_block;
struct prestera_port_mac_state {
bool valid;
u32 mode;
u32 speed;
bool oper;
u8 duplex;
u8 fc;
u8 fec;
};
struct prestera_port_phy_state {
u64 lmode_bmap;
struct {
Annotation
- Immediate include surface: `linux/notifier.h`, `linux/skbuff.h`, `linux/workqueue.h`, `linux/phylink.h`, `net/devlink.h`, `uapi/linux/if_ether.h`.
- Detected declarations: `struct prestera_fw_rev`, `struct prestera_flood_domain`, `struct prestera_mdb_entry`, `struct prestera_flood_domain_port`, `struct prestera_port_stats`, `struct prestera_port_caps`, `struct prestera_lag`, `struct prestera_flow_block`, `struct prestera_port_mac_state`, `struct prestera_port_phy_state`.
- Atlas domain: Driver Families / drivers/net.
- 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.