OSDN Git Service

iavf: Add helper function to go from pci_dev to adapter
authorKaren Sornek <karen.sornek@intel.com>
Wed, 15 Sep 2021 06:41:23 +0000 (08:41 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 29 Oct 2021 20:11:53 +0000 (13:11 -0700)
Add helper function to go from pci_dev to adapter to make work simple -
to go from a pci_dev to the adapter structure and make netdev assignment
instead of having to go to the net_device then the adapter.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Karen Sornek <karen.sornek@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/iavf/iavf_main.c

index 56956e4..4691603 100644 (file)
@@ -52,6 +52,15 @@ static const struct net_device_ops iavf_netdev_ops;
 struct workqueue_struct *iavf_wq;
 
 /**
+ * iavf_pdev_to_adapter - go from pci_dev to adapter
+ * @pdev: pci_dev pointer
+ */
+static struct iavf_adapter *iavf_pdev_to_adapter(struct pci_dev *pdev)
+{
+       return netdev_priv(pci_get_drvdata(pdev));
+}
+
+/**
  * iavf_allocate_dma_mem_d - OS specific memory alloc for shared code
  * @hw:   pointer to the HW structure
  * @mem:  ptr to mem struct to fill out
@@ -3681,8 +3690,8 @@ int iavf_process_config(struct iavf_adapter *adapter)
  **/
 static void iavf_shutdown(struct pci_dev *pdev)
 {
-       struct net_device *netdev = pci_get_drvdata(pdev);
-       struct iavf_adapter *adapter = netdev_priv(netdev);
+       struct iavf_adapter *adapter = iavf_pdev_to_adapter(pdev);
+       struct net_device *netdev = adapter->netdev;
 
        netif_device_detach(netdev);
 
@@ -3866,10 +3875,11 @@ static int __maybe_unused iavf_suspend(struct device *dev_d)
 static int __maybe_unused iavf_resume(struct device *dev_d)
 {
        struct pci_dev *pdev = to_pci_dev(dev_d);
-       struct net_device *netdev = pci_get_drvdata(pdev);
-       struct iavf_adapter *adapter = netdev_priv(netdev);
+       struct iavf_adapter *adapter;
        u32 err;
 
+       adapter = iavf_pdev_to_adapter(pdev);
+
        pci_set_master(pdev);
 
        rtnl_lock();
@@ -3888,7 +3898,7 @@ static int __maybe_unused iavf_resume(struct device *dev_d)
 
        queue_work(iavf_wq, &adapter->reset_task);
 
-       netif_device_attach(netdev);
+       netif_device_attach(adapter->netdev);
 
        return err;
 }
@@ -3904,8 +3914,8 @@ static int __maybe_unused iavf_resume(struct device *dev_d)
  **/
 static void iavf_remove(struct pci_dev *pdev)
 {
-       struct net_device *netdev = pci_get_drvdata(pdev);
-       struct iavf_adapter *adapter = netdev_priv(netdev);
+       struct iavf_adapter *adapter = iavf_pdev_to_adapter(pdev);
+       struct net_device *netdev = adapter->netdev;
        struct iavf_fdir_fltr *fdir, *fdirtmp;
        struct iavf_vlan_filter *vlf, *vlftmp;
        struct iavf_adv_rss *rss, *rsstmp;