drivers/net/dsa/yt921x.h
Source file repositories/reference/linux-study-clean/drivers/net/dsa/yt921x.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/dsa/yt921x.h- Extension
.h- Size
- 43730 bytes
- Lines
- 978
- 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
net/dsa.h
Detected Declarations
struct yt921x_mibstruct yt921x_acl_entrystruct yt921x_acl_rulestruct yt921x_acl_blkstruct yt921x_portstruct yt921x_reg_opsstruct yt921x_privenum yt921x_app_selectorenum yt921x_acl_typeenum yt921x_l2_typeenum yt921x_l3_typeenum yt921x_l4_typeenum yt921x_fdb_entry_status
Annotated Snippet
struct yt921x_mib {
u64 rx_broadcast;
u64 rx_pause;
u64 rx_multicast;
u64 rx_crc_errors;
u64 rx_alignment_errors;
u64 rx_undersize_errors;
u64 rx_fragment_errors;
u64 rx_64byte;
u64 rx_65_127byte;
u64 rx_128_255byte;
u64 rx_256_511byte;
u64 rx_512_1023byte;
u64 rx_1024_1518byte;
u64 rx_jumbo;
u64 rx_good_bytes;
u64 rx_bad_bytes;
u64 rx_oversize_errors;
u64 rx_dropped;
u64 tx_broadcast;
u64 tx_pause;
u64 tx_multicast;
u64 tx_undersize_errors;
u64 tx_64byte;
u64 tx_65_127byte;
u64 tx_128_255byte;
u64 tx_256_511byte;
u64 tx_512_1023byte;
u64 tx_1024_1518byte;
u64 tx_jumbo;
u64 tx_good_bytes;
u64 tx_collisions;
u64 tx_aborted_errors;
u64 tx_multiple_collisions;
u64 tx_single_collisions;
u64 tx_good;
u64 tx_deferred;
u64 tx_late_collisions;
u64 rx_oam;
u64 tx_oam;
};
struct yt921x_acl_entry {
u32 key[2];
u32 mask[2];
};
struct yt921x_acl_rule {
unsigned long tag;
enum tc_setup_type type;
u32 action[3];
bool sw_assisted;
u8 mask;
struct yt921x_acl_entry entries[YT921X_ACL_ENT_PER_BLK];
};
struct yt921x_acl_blk {
struct yt921x_acl_rule *rules[YT921X_ACL_ENT_PER_BLK];
};
struct yt921x_port {
unsigned char index;
bool hairpin;
bool isolated;
struct delayed_work mib_read;
struct yt921x_mib mib;
u64 rx_frames;
u64 tx_frames;
};
struct yt921x_reg_ops {
int (*read)(void *context, u32 reg, u32 *valp);
int (*write)(void *context, u32 reg, u32 val);
};
struct yt921x_priv {
Annotation
- Immediate include surface: `net/dsa.h`.
- Detected declarations: `struct yt921x_mib`, `struct yt921x_acl_entry`, `struct yt921x_acl_rule`, `struct yt921x_acl_blk`, `struct yt921x_port`, `struct yt921x_reg_ops`, `struct yt921x_priv`, `enum yt921x_app_selector`, `enum yt921x_acl_type`, `enum yt921x_l2_type`.
- 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.