OSDN Git Service

igc: Remove no need declaration of the igc_free_q_vector
authorSasha Neftin <sasha.neftin@intel.com>
Tue, 19 Nov 2019 11:45:16 +0000 (13:45 +0200)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 5 Jan 2020 07:02:22 +0000 (23:02 -0800)
We want to avoid forward-declarations of function if possible.
Rearrange the igc_free_q_vector function implementation.

Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igc/igc_main.c

index 5834713..368e537 100644 (file)
@@ -55,7 +55,6 @@ MODULE_DEVICE_TABLE(pci, igc_pci_tbl);
 static int igc_sw_init(struct igc_adapter *);
 static void igc_write_itr(struct igc_q_vector *q_vector);
 static void igc_assign_vector(struct igc_q_vector *q_vector, int msix_vector);
-static void igc_free_q_vector(struct igc_adapter *adapter, int v_idx);
 
 enum latency_range {
        lowest_latency = 0,
@@ -3118,6 +3117,26 @@ msi_only:
 }
 
 /**
+ * igc_free_q_vector - Free memory allocated for specific interrupt vector
+ * @adapter: board private structure to initialize
+ * @v_idx: Index of vector to be freed
+ *
+ * This function frees the memory allocated to the q_vector.
+ */
+static void igc_free_q_vector(struct igc_adapter *adapter, int v_idx)
+{
+       struct igc_q_vector *q_vector = adapter->q_vector[v_idx];
+
+       adapter->q_vector[v_idx] = NULL;
+
+       /* igc_get_stats64() might access the rings on this vector,
+        * we must wait a grace period before freeing it.
+        */
+       if (q_vector)
+               kfree_rcu(q_vector, rcu);
+}
+
+/**
  * igc_free_q_vectors - Free memory allocated for interrupt vectors
  * @adapter: board private structure to initialize
  *
@@ -3152,26 +3171,6 @@ static void igc_clear_interrupt_scheme(struct igc_adapter *adapter)
        igc_reset_interrupt_capability(adapter);
 }
 
-/**
- * igc_free_q_vector - Free memory allocated for specific interrupt vector
- * @adapter: board private structure to initialize
- * @v_idx: Index of vector to be freed
- *
- * This function frees the memory allocated to the q_vector.
- */
-static void igc_free_q_vector(struct igc_adapter *adapter, int v_idx)
-{
-       struct igc_q_vector *q_vector = adapter->q_vector[v_idx];
-
-       adapter->q_vector[v_idx] = NULL;
-
-       /* igc_get_stats64() might access the rings on this vector,
-        * we must wait a grace period before freeing it.
-        */
-       if (q_vector)
-               kfree_rcu(q_vector, rcu);
-}
-
 /* Need to wait a few seconds after link up to get diagnostic information from
  * the phy
  */