#include <linux/clk-provider.h>
#include <linux/pci.h>
#include <linux/dmi.h>
#include "dwmac-intel.h"
#include "dwmac4.h"
#include "stmmac.h"
#include "stmmac_ptp.h"
struct intel_priv_data { … };
struct stmmac_pci_func_data { … };
struct stmmac_pci_dmi_data { … };
struct stmmac_pci_info { … };
static int stmmac_pci_find_phy_addr(struct pci_dev *pdev,
const struct dmi_system_id *dmi_list)
{ … }
static int serdes_status_poll(struct stmmac_priv *priv, int phyaddr,
int phyreg, u32 mask, u32 val)
{ … }
static int intel_serdes_powerup(struct net_device *ndev, void *priv_data)
{ … }
static void intel_serdes_powerdown(struct net_device *ndev, void *intel_data)
{ … }
static void intel_speed_mode_2500(struct net_device *ndev, void *intel_data)
{ … }
static void intel_mgbe_ptp_clk_freq_config(struct stmmac_priv *priv)
{ … }
static void get_arttime(struct mii_bus *mii, int intel_adhoc_addr,
u64 *art_time)
{ … }
static int stmmac_cross_ts_isr(struct stmmac_priv *priv)
{ … }
static int intel_crosststamp(ktime_t *device,
struct system_counterval_t *system,
void *ctx)
{ … }
static void intel_mgbe_pse_crossts_adj(struct intel_priv_data *intel_priv,
int base)
{ … }
static void common_default_data(struct plat_stmmacenet_data *plat)
{ … }
static struct phylink_pcs *intel_mgbe_select_pcs(struct stmmac_priv *priv,
phy_interface_t interface)
{ … }
static int intel_mgbe_common_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static int ehl_common_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static int ehl_sgmii_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info ehl_sgmii1g_info = …;
static int ehl_rgmii_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info ehl_rgmii1g_info = …;
static int ehl_pse0_common_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static int ehl_pse0_rgmii1g_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info ehl_pse0_rgmii1g_info = …;
static int ehl_pse0_sgmii1g_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info ehl_pse0_sgmii1g_info = …;
static int ehl_pse1_common_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static int ehl_pse1_rgmii1g_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info ehl_pse1_rgmii1g_info = …;
static int ehl_pse1_sgmii1g_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info ehl_pse1_sgmii1g_info = …;
static int tgl_common_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static int tgl_sgmii_phy0_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info tgl_sgmii1g_phy0_info = …;
static int tgl_sgmii_phy1_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info tgl_sgmii1g_phy1_info = …;
static int adls_sgmii_phy0_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info adls_sgmii1g_phy0_info = …;
static int adls_sgmii_phy1_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static struct stmmac_pci_info adls_sgmii1g_phy1_info = …;
static const struct stmmac_pci_func_data galileo_stmmac_func_data[] = …;
static const struct stmmac_pci_dmi_data galileo_stmmac_dmi_data = …;
static const struct stmmac_pci_func_data iot2040_stmmac_func_data[] = …;
static const struct stmmac_pci_dmi_data iot2040_stmmac_dmi_data = …;
static const struct dmi_system_id quark_pci_dmi[] = …;
static int quark_default_data(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat)
{ … }
static const struct stmmac_pci_info quark_info = …;
static int stmmac_config_single_msi(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat,
struct stmmac_resources *res)
{ … }
static int stmmac_config_multi_msi(struct pci_dev *pdev,
struct plat_stmmacenet_data *plat,
struct stmmac_resources *res)
{ … }
static int intel_eth_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *id)
{ … }
static void intel_eth_pci_remove(struct pci_dev *pdev)
{ … }
static int __maybe_unused intel_eth_pci_suspend(struct device *dev)
{ … }
static int __maybe_unused intel_eth_pci_resume(struct device *dev)
{ … }
static SIMPLE_DEV_PM_OPS(intel_eth_pm_ops, intel_eth_pci_suspend,
intel_eth_pci_resume);
#define PCI_DEVICE_ID_INTEL_QUARK …
#define PCI_DEVICE_ID_INTEL_EHL_RGMII1G …
#define PCI_DEVICE_ID_INTEL_EHL_SGMII1G …
#define PCI_DEVICE_ID_INTEL_EHL_SGMII2G5 …
#define PCI_DEVICE_ID_INTEL_EHL_PSE0_RGMII1G …
#define PCI_DEVICE_ID_INTEL_EHL_PSE0_SGMII1G …
#define PCI_DEVICE_ID_INTEL_EHL_PSE0_SGMII2G5 …
#define PCI_DEVICE_ID_INTEL_EHL_PSE1_RGMII1G …
#define PCI_DEVICE_ID_INTEL_EHL_PSE1_SGMII1G …
#define PCI_DEVICE_ID_INTEL_EHL_PSE1_SGMII2G5 …
#define PCI_DEVICE_ID_INTEL_TGLH_SGMII1G_0 …
#define PCI_DEVICE_ID_INTEL_TGLH_SGMII1G_1 …
#define PCI_DEVICE_ID_INTEL_TGL_SGMII1G …
#define PCI_DEVICE_ID_INTEL_ADLS_SGMII1G_0 …
#define PCI_DEVICE_ID_INTEL_ADLS_SGMII1G_1 …
#define PCI_DEVICE_ID_INTEL_ADLN_SGMII1G …
#define PCI_DEVICE_ID_INTEL_RPLP_SGMII1G …
static const struct pci_device_id intel_eth_pci_id_table[] = …;
MODULE_DEVICE_TABLE(pci, intel_eth_pci_id_table);
static struct pci_driver intel_eth_pci_driver = …;
module_pci_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;