Add and use phy_interface_mode_is_8023z() helper to identify the
interface modes that use 802.3z negotiation.  Use it in phylink's
phylink_mac_an_restart().
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 static void phylink_mac_an_restart(struct phylink *pl)
 {
        if (pl->link_config.an_enabled &&
-           (pl->link_config.interface == PHY_INTERFACE_MODE_1000BASEX ||
-            pl->link_config.interface == PHY_INTERFACE_MODE_2500BASEX))
+           phy_interface_mode_is_8023z(pl->link_config.interface))
                pl->ops->mac_an_restart(pl->netdev);
 }
 
 
                mode <= PHY_INTERFACE_MODE_RGMII_TXID;
 };
 
+/**
+ * phy_interface_mode_is_8023z() - does the phy interface mode use 802.3z
+ *   negotiation
+ * @mode: one of &enum phy_interface_t
+ *
+ * Returns true if the phy interface mode uses the 16-bit negotiation
+ * word as defined in 802.3z. (See 802.3-2015 37.2.1 Config_Reg encoding)
+ */
+static inline bool phy_interface_mode_is_8023z(phy_interface_t mode)
+{
+       return mode == PHY_INTERFACE_MODE_1000BASEX ||
+              mode == PHY_INTERFACE_MODE_2500BASEX;
+}
+
 /**
  * phy_interface_is_rgmii - Convenience function for testing if a PHY interface
  * is RGMII (all variants)