igc: Remove useless forward declaration
authorSasha Neftin <sasha.neftin@intel.com>
Tue, 16 Jul 2019 12:35:39 +0000 (15:35 +0300)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 9 Sep 2019 17:08:38 +0000 (10:08 -0700)
Move igc_phy_setup_autoneg, igc_wait_autoneg and igc_set_fc_watermarks
up to avoid forward declaration.
It is not necessary to forward declare these static methods.

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_mac.c
drivers/net/ethernet/intel/igc/igc_phy.c

index ba4646737288dba64e8d7883ec13db4dae7d099a..5eeb4c8caf4aec2fb5bc8c49e8aacdf11ca9a25e 100644 (file)
@@ -7,9 +7,6 @@
 #include "igc_mac.h"
 #include "igc_hw.h"
 
-/* forward declaration */
-static s32 igc_set_fc_watermarks(struct igc_hw *hw);
-
 /**
  * igc_disable_pcie_master - Disables PCI-express master access
  * @hw: pointer to the HW structure
@@ -74,6 +71,41 @@ void igc_init_rx_addrs(struct igc_hw *hw, u16 rar_count)
                hw->mac.ops.rar_set(hw, mac_addr, i);
 }
 
+/**
+ * igc_set_fc_watermarks - Set flow control high/low watermarks
+ * @hw: pointer to the HW structure
+ *
+ * Sets the flow control high/low threshold (watermark) registers.  If
+ * flow control XON frame transmission is enabled, then set XON frame
+ * transmission as well.
+ */
+static s32 igc_set_fc_watermarks(struct igc_hw *hw)
+{
+       u32 fcrtl = 0, fcrth = 0;
+
+       /* Set the flow control receive threshold registers.  Normally,
+        * these registers will be set to a default threshold that may be
+        * adjusted later by the driver's runtime code.  However, if the
+        * ability to transmit pause frames is not enabled, then these
+        * registers will be set to 0.
+        */
+       if (hw->fc.current_mode & igc_fc_tx_pause) {
+               /* We need to set up the Receive Threshold high and low water
+                * marks as well as (optionally) enabling the transmission of
+                * XON frames.
+                */
+               fcrtl = hw->fc.low_water;
+               if (hw->fc.send_xon)
+                       fcrtl |= IGC_FCRTL_XONE;
+
+               fcrth = hw->fc.high_water;
+       }
+       wr32(IGC_FCRTL, fcrtl);
+       wr32(IGC_FCRTH, fcrth);
+
+       return 0;
+}
+
 /**
  * igc_setup_link - Setup flow control and link settings
  * @hw: pointer to the HW structure
@@ -194,41 +226,6 @@ out:
        return ret_val;
 }
 
-/**
- * igc_set_fc_watermarks - Set flow control high/low watermarks
- * @hw: pointer to the HW structure
- *
- * Sets the flow control high/low threshold (watermark) registers.  If
- * flow control XON frame transmission is enabled, then set XON frame
- * transmission as well.
- */
-static s32 igc_set_fc_watermarks(struct igc_hw *hw)
-{
-       u32 fcrtl = 0, fcrth = 0;
-
-       /* Set the flow control receive threshold registers.  Normally,
-        * these registers will be set to a default threshold that may be
-        * adjusted later by the driver's runtime code.  However, if the
-        * ability to transmit pause frames is not enabled, then these
-        * registers will be set to 0.
-        */
-       if (hw->fc.current_mode & igc_fc_tx_pause) {
-               /* We need to set up the Receive Threshold high and low water
-                * marks as well as (optionally) enabling the transmission of
-                * XON frames.
-                */
-               fcrtl = hw->fc.low_water;
-               if (hw->fc.send_xon)
-                       fcrtl |= IGC_FCRTL_XONE;
-
-               fcrth = hw->fc.high_water;
-       }
-       wr32(IGC_FCRTL, fcrtl);
-       wr32(IGC_FCRTH, fcrth);
-
-       return 0;
-}
-
 /**
  * igc_clear_hw_cntrs_base - Clear base hardware counters
  * @hw: pointer to the HW structure
index 4c8f96a9a148ad7c0166d5478cea7a7674f7923c..f4b05af0dd2f6f0e39e620a76909ed5998d7da44 100644 (file)
@@ -3,10 +3,6 @@
 
 #include "igc_phy.h"
 
-/* forward declaration */
-static s32 igc_phy_setup_autoneg(struct igc_hw *hw);
-static s32 igc_wait_autoneg(struct igc_hw *hw);
-
 /**
  * igc_check_reset_block - Check if PHY reset is blocked
  * @hw: pointer to the HW structure
@@ -207,100 +203,6 @@ out:
        return ret_val;
 }
 
-/**
- * igc_copper_link_autoneg - Setup/Enable autoneg for copper link
- * @hw: pointer to the HW structure
- *
- * Performs initial bounds checking on autoneg advertisement parameter, then
- * configure to advertise the full capability.  Setup the PHY to autoneg
- * and restart the negotiation process between the link partner.  If
- * autoneg_wait_to_complete, then wait for autoneg to complete before exiting.
- */
-static s32 igc_copper_link_autoneg(struct igc_hw *hw)
-{
-       struct igc_phy_info *phy = &hw->phy;
-       u16 phy_ctrl;
-       s32 ret_val;
-
-       /* Perform some bounds checking on the autoneg advertisement
-        * parameter.
-        */
-       phy->autoneg_advertised &= phy->autoneg_mask;
-
-       /* If autoneg_advertised is zero, we assume it was not defaulted
-        * by the calling code so we set to advertise full capability.
-        */
-       if (phy->autoneg_advertised == 0)
-               phy->autoneg_advertised = phy->autoneg_mask;
-
-       hw_dbg("Reconfiguring auto-neg advertisement params\n");
-       ret_val = igc_phy_setup_autoneg(hw);
-       if (ret_val) {
-               hw_dbg("Error Setting up Auto-Negotiation\n");
-               goto out;
-       }
-       hw_dbg("Restarting Auto-Neg\n");
-
-       /* Restart auto-negotiation by setting the Auto Neg Enable bit and
-        * the Auto Neg Restart bit in the PHY control register.
-        */
-       ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_ctrl);
-       if (ret_val)
-               goto out;
-
-       phy_ctrl |= (MII_CR_AUTO_NEG_EN | MII_CR_RESTART_AUTO_NEG);
-       ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_ctrl);
-       if (ret_val)
-               goto out;
-
-       /* Does the user want to wait for Auto-Neg to complete here, or
-        * check at a later time (for example, callback routine).
-        */
-       if (phy->autoneg_wait_to_complete) {
-               ret_val = igc_wait_autoneg(hw);
-               if (ret_val) {
-                       hw_dbg("Error while waiting for autoneg to complete\n");
-                       goto out;
-               }
-       }
-
-       hw->mac.get_link_status = true;
-
-out:
-       return ret_val;
-}
-
-/**
- * igc_wait_autoneg - Wait for auto-neg completion
- * @hw: pointer to the HW structure
- *
- * Waits for auto-negotiation to complete or for the auto-negotiation time
- * limit to expire, which ever happens first.
- */
-static s32 igc_wait_autoneg(struct igc_hw *hw)
-{
-       u16 i, phy_status;
-       s32 ret_val = 0;
-
-       /* Break after autoneg completes or PHY_AUTO_NEG_LIMIT expires. */
-       for (i = PHY_AUTO_NEG_LIMIT; i > 0; i--) {
-               ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
-               if (ret_val)
-                       break;
-               ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
-               if (ret_val)
-                       break;
-               if (phy_status & MII_SR_AUTONEG_COMPLETE)
-                       break;
-               msleep(100);
-       }
-
-       /* PHY_AUTO_NEG_TIME expiration doesn't guarantee auto-negotiation
-        * has completed.
-        */
-       return ret_val;
-}
-
 /**
  * igc_phy_setup_autoneg - Configure PHY for auto-negotiation
  * @hw: pointer to the HW structure
@@ -485,6 +387,100 @@ static s32 igc_phy_setup_autoneg(struct igc_hw *hw)
        return ret_val;
 }
 
+/**
+ * igc_wait_autoneg - Wait for auto-neg completion
+ * @hw: pointer to the HW structure
+ *
+ * Waits for auto-negotiation to complete or for the auto-negotiation time
+ * limit to expire, which ever happens first.
+ */
+static s32 igc_wait_autoneg(struct igc_hw *hw)
+{
+       u16 i, phy_status;
+       s32 ret_val = 0;
+
+       /* Break after autoneg completes or PHY_AUTO_NEG_LIMIT expires. */
+       for (i = PHY_AUTO_NEG_LIMIT; i > 0; i--) {
+               ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
+               if (ret_val)
+                       break;
+               ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
+               if (ret_val)
+                       break;
+               if (phy_status & MII_SR_AUTONEG_COMPLETE)
+                       break;
+               msleep(100);
+       }
+
+       /* PHY_AUTO_NEG_TIME expiration doesn't guarantee auto-negotiation
+        * has completed.
+        */
+       return ret_val;
+}
+
+/**
+ * igc_copper_link_autoneg - Setup/Enable autoneg for copper link
+ * @hw: pointer to the HW structure
+ *
+ * Performs initial bounds checking on autoneg advertisement parameter, then
+ * configure to advertise the full capability.  Setup the PHY to autoneg
+ * and restart the negotiation process between the link partner.  If
+ * autoneg_wait_to_complete, then wait for autoneg to complete before exiting.
+ */
+static s32 igc_copper_link_autoneg(struct igc_hw *hw)
+{
+       struct igc_phy_info *phy = &hw->phy;
+       u16 phy_ctrl;
+       s32 ret_val;
+
+       /* Perform some bounds checking on the autoneg advertisement
+        * parameter.
+        */
+       phy->autoneg_advertised &= phy->autoneg_mask;
+
+       /* If autoneg_advertised is zero, we assume it was not defaulted
+        * by the calling code so we set to advertise full capability.
+        */
+       if (phy->autoneg_advertised == 0)
+               phy->autoneg_advertised = phy->autoneg_mask;
+
+       hw_dbg("Reconfiguring auto-neg advertisement params\n");
+       ret_val = igc_phy_setup_autoneg(hw);
+       if (ret_val) {
+               hw_dbg("Error Setting up Auto-Negotiation\n");
+               goto out;
+       }
+       hw_dbg("Restarting Auto-Neg\n");
+
+       /* Restart auto-negotiation by setting the Auto Neg Enable bit and
+        * the Auto Neg Restart bit in the PHY control register.
+        */
+       ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_ctrl);
+       if (ret_val)
+               goto out;
+
+       phy_ctrl |= (MII_CR_AUTO_NEG_EN | MII_CR_RESTART_AUTO_NEG);
+       ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_ctrl);
+       if (ret_val)
+               goto out;
+
+       /* Does the user want to wait for Auto-Neg to complete here, or
+        * check at a later time (for example, callback routine).
+        */
+       if (phy->autoneg_wait_to_complete) {
+               ret_val = igc_wait_autoneg(hw);
+               if (ret_val) {
+                       hw_dbg("Error while waiting for autoneg to complete\n");
+                       goto out;
+               }
+       }
+
+       hw->mac.get_link_status = true;
+
+out:
+       return ret_val;
+}
+
 /**
  * igc_setup_copper_link - Configure copper link settings
  * @hw: pointer to the HW structure