drivers/net/ethernet/sfc/efx_common.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/sfc/efx_common.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/sfc/efx_common.h
Extension
.h
Size
3971 bytes
Lines
117
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.

Dependency Surface

Detected Declarations

Annotated Snippet

static inline void efx_init_mcdi_logging(struct efx_nic *efx) {}
static inline void efx_fini_mcdi_logging(struct efx_nic *efx) {}
#endif

void efx_mac_reconfigure(struct efx_nic *efx, bool mtu_only);
int efx_set_mac_address(struct net_device *net_dev, void *data);
void efx_set_rx_mode(struct net_device *net_dev);
int efx_set_features(struct net_device *net_dev, netdev_features_t data);
void efx_link_status_changed(struct efx_nic *efx);
unsigned int efx_xdp_max_mtu(struct efx_nic *efx);
int efx_change_mtu(struct net_device *net_dev, int new_mtu);

extern const struct pci_error_handlers efx_err_handlers;

netdev_features_t efx_features_check(struct sk_buff *skb, struct net_device *dev,
				     netdev_features_t features);

int efx_get_phys_port_id(struct net_device *net_dev,
			 struct netdev_phys_item_id *ppid);

int efx_get_phys_port_name(struct net_device *net_dev,
			   char *name, size_t len);

void efx_detach_reps(struct efx_nic *efx);
void efx_attach_reps(struct efx_nic *efx);
#endif

Annotation

Implementation Notes