[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210507085756.20427-6-yangbo.lu@nxp.com>
Date: Fri, 7 May 2021 16:57:55 +0800
From: Yangbo Lu <yangbo.lu@....com>
To: netdev@...r.kernel.org
Cc: Yangbo Lu <yangbo.lu@....com>,
"David S . Miller" <davem@...emloft.net>,
Richard Cochran <richardcochran@...il.com>,
Claudiu Manoil <claudiu.manoil@....com>,
Jakub Kicinski <kuba@...nel.org>
Subject: [net-next 5/6] enetc: store ptp device pointer
Store ptp device pointer which will be used for ptp domain
timestamp conversion.
Signed-off-by: Yangbo Lu <yangbo.lu@....com>
---
drivers/net/ethernet/freescale/enetc/enetc.h | 1 +
drivers/net/ethernet/freescale/enetc/enetc_pf.c | 5 +++++
drivers/net/ethernet/freescale/enetc/enetc_vf.c | 5 +++++
3 files changed, 11 insertions(+)
diff --git a/drivers/net/ethernet/freescale/enetc/enetc.h b/drivers/net/ethernet/freescale/enetc/enetc.h
index 08b283347d9c..03e1ee1f6615 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc.h
+++ b/drivers/net/ethernet/freescale/enetc/enetc.h
@@ -351,6 +351,7 @@ struct enetc_ndev_priv {
struct work_struct tx_onestep_tstamp;
struct sk_buff_head tx_skbs;
+ struct device *ptp_dev;
};
/* Messaging */
diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
index 31274325159a..71029b26e92e 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
@@ -1201,6 +1201,7 @@ static int enetc_pf_probe(struct pci_dev *pdev,
{
struct device_node *node = pdev->dev.of_node;
struct enetc_ndev_priv *priv;
+ struct pci_dev *ptp_pdev;
struct net_device *ndev;
struct enetc_si *si;
struct enetc_pf *pf;
@@ -1293,6 +1294,10 @@ static int enetc_pf_probe(struct pci_dev *pdev,
goto err_alloc_msix;
}
+ ptp_pdev = pci_get_device(PCI_VENDOR_ID_FREESCALE, ENETC_DEV_ID_PTP, NULL);
+ if (ptp_pdev)
+ priv->ptp_dev = &ptp_pdev->dev;
+
if (!of_get_phy_mode(node, &pf->if_mode)) {
err = enetc_mdiobus_create(pf, node);
if (err)
diff --git a/drivers/net/ethernet/freescale/enetc/enetc_vf.c b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
index 03090ba7e226..17fea364b091 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc_vf.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
@@ -138,6 +138,7 @@ static int enetc_vf_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
struct enetc_ndev_priv *priv;
+ struct pci_dev *ptp_pdev;
struct net_device *ndev;
struct enetc_si *si;
int err;
@@ -188,6 +189,10 @@ static int enetc_vf_probe(struct pci_dev *pdev,
goto err_alloc_msix;
}
+ ptp_pdev = pci_get_device(PCI_VENDOR_ID_FREESCALE, ENETC_DEV_ID_PTP, NULL);
+ if (ptp_pdev)
+ priv->ptp_dev = &ptp_pdev->dev;
+
err = register_netdev(ndev);
if (err)
goto err_reg_netdev;
--
2.25.1
Powered by blists - more mailing lists