drivers/net/ethernet/aeroflex/greth.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/aeroflex/greth.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/aeroflex/greth.h- Extension
.h- Size
- 3609 bytes
- Lines
- 142
- 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/phy.h
Detected Declarations
struct greth_regsstruct greth_bdstruct greth_private
Annotated Snippet
struct greth_regs {
u32 control;
u32 status;
u32 esa_msb;
u32 esa_lsb;
u32 mdio;
u32 tx_desc_p;
u32 rx_desc_p;
u32 edclip;
u32 hash_msb;
u32 hash_lsb;
};
/* GRETH buffer descriptor */
struct greth_bd {
u32 stat;
u32 addr;
};
struct greth_private {
struct sk_buff *rx_skbuff[GRETH_RXBD_NUM];
struct sk_buff *tx_skbuff[GRETH_TXBD_NUM];
unsigned char *tx_bufs[GRETH_TXBD_NUM];
unsigned char *rx_bufs[GRETH_RXBD_NUM];
u16 tx_bufs_length[GRETH_TXBD_NUM];
u16 tx_next;
u16 tx_last;
u16 tx_free; /* only used on 10/100Mbit */
u16 rx_cur;
struct greth_regs *regs; /* Address of controller registers. */
struct greth_bd *rx_bd_base; /* Address of Rx BDs. */
struct greth_bd *tx_bd_base; /* Address of Tx BDs. */
dma_addr_t rx_bd_base_phys;
dma_addr_t tx_bd_base_phys;
int irq;
struct device *dev; /* Pointer to platform_device->dev */
struct net_device *netdev;
struct napi_struct napi;
spinlock_t devlock;
struct mii_bus *mdio;
unsigned int link;
unsigned int speed;
unsigned int duplex;
u32 msg_enable;
u8 phyaddr;
u8 multicast;
u8 gbit_mac;
u8 mdio_int_en;
u8 edcl;
};
#endif
Annotation
- Immediate include surface: `linux/phy.h`.
- Detected declarations: `struct greth_regs`, `struct greth_bd`, `struct greth_private`.
- 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.