drivers/net/ethernet/freescale/enetc/enetc_pf_common.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/freescale/enetc/enetc_pf_common.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/freescale/enetc/enetc_pf_common.h
Extension
.h
Size
1325 bytes
Lines
34
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: operation-table or driver-model contract
Status
pattern 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

const struct net_device_ops *ndev_ops);
int enetc_mdiobus_create(struct enetc_pf *pf, struct device_node *node);
void enetc_mdiobus_destroy(struct enetc_pf *pf);
int enetc_phylink_create(struct enetc_ndev_priv *priv, struct device_node *node,
			 const struct phylink_mac_ops *ops);
void enetc_phylink_destroy(struct enetc_ndev_priv *priv);
void enetc_set_default_rss_key(struct enetc_pf *pf);
int enetc_vlan_rx_add_vid(struct net_device *ndev, __be16 prot, u16 vid);
int enetc_vlan_rx_del_vid(struct net_device *ndev, __be16 prot, u16 vid);
int enetc_init_sriov_resources(struct enetc_pf *pf);

static inline u16 enetc_get_ip_revision(struct enetc_hw *hw)
{
	return enetc_global_rd(hw, ENETC_G_EIPBRR0) & EIPBRR0_REVISION;
}

#if IS_ENABLED(CONFIG_PCI_IOV)
int enetc_sriov_configure(struct pci_dev *pdev, int num_vfs);
#else
static inline int enetc_sriov_configure(struct pci_dev *pdev, int num_vfs)
{
	return 0;
}
#endif

Annotation

Implementation Notes