if (phydev->asym_pause)
                                rmt_adv |= LPA_PAUSE_ASYM;
 
-                       if (phydev->advertising & ADVERTISED_Pause)
-                               lcl_adv |= ADVERTISE_PAUSE_CAP;
-                       if (phydev->advertising & ADVERTISED_Asym_Pause)
-                               lcl_adv |= ADVERTISE_PAUSE_ASYM;
-
+                       lcl_adv = ethtool_adv_to_lcl_adv_t(phydev->advertising);
                        flowctrl = mii_resolve_flowctrl_fdx(lcl_adv, rmt_adv);
 
                        if (flowctrl & FLOW_CTRL_TX)
 
        if (!phy_data->phydev)
                return;
 
-       if (phy_data->phydev->advertising & ADVERTISED_Pause)
-               lcl_adv |= ADVERTISE_PAUSE_CAP;
-       if (phy_data->phydev->advertising & ADVERTISED_Asym_Pause)
-               lcl_adv |= ADVERTISE_PAUSE_ASYM;
+       lcl_adv = ethtool_adv_to_lcl_adv_t(phy_data->phydev->advertising);
 
        if (phy_data->phydev->pause) {
                XGBE_SET_LP_ADV(lks, Pause);
 
         */
 
        /* get local capabilities */
-       lcl_adv = 0;
-       if (phy_dev->advertising & ADVERTISED_Pause)
-               lcl_adv |= ADVERTISE_PAUSE_CAP;
-       if (phy_dev->advertising & ADVERTISED_Asym_Pause)
-               lcl_adv |= ADVERTISE_PAUSE_ASYM;
+       lcl_adv = ethtool_adv_to_lcl_adv_t(phy_dev->advertising);
 
        /* get link partner capabilities */
        rmt_adv = 0;
 
                if (phydev->asym_pause)
                        rmt_adv |= LPA_PAUSE_ASYM;
 
-               lcl_adv = 0;
-               if (phydev->advertising & ADVERTISED_Pause)
-                       lcl_adv |= ADVERTISE_PAUSE_CAP;
-               if (phydev->advertising & ADVERTISED_Asym_Pause)
-                       lcl_adv |= ADVERTISE_PAUSE_ASYM;
-
+               lcl_adv = ethtool_adv_to_lcl_adv_t(phydev->advertising);
                flowctrl = mii_resolve_flowctrl_fdx(lcl_adv, rmt_adv);
                if (flowctrl & FLOW_CTRL_TX)
                        val |= MACCFG1_TX_FLOW;
 
        if (!phydev->link || !phydev->autoneg)
                return 0;
 
-       if (phydev->advertising & ADVERTISED_Pause)
-               local_advertising = ADVERTISE_PAUSE_CAP;
-
-       if (phydev->advertising & ADVERTISED_Asym_Pause)
-               local_advertising |= ADVERTISE_PAUSE_ASYM;
+       local_advertising = ethtool_adv_to_lcl_adv_t(phydev->advertising);
 
        if (phydev->pause)
                remote_advertising = LPA_PAUSE_CAP;
 
                if (dev->phydev->asym_pause)
                        rmt_adv |= LPA_PAUSE_ASYM;
 
-               if (dev->phydev->advertising & ADVERTISED_Pause)
-                       lcl_adv |= ADVERTISE_PAUSE_CAP;
-               if (dev->phydev->advertising & ADVERTISED_Asym_Pause)
-                       lcl_adv |= ADVERTISE_PAUSE_ASYM;
-
+               lcl_adv = ethtool_adv_to_lcl_adv_t(dev->phydev->advertising);
                flowctrl = mii_resolve_flowctrl_fdx(lcl_adv, rmt_adv);
 
                if (flowctrl & FLOW_CTRL_TX)
 
                        rmt_adv |= LPA_PAUSE_CAP;
                if (phydev->asym_pause)
                        rmt_adv |= LPA_PAUSE_ASYM;
-               if (phydev->advertising & ADVERTISED_Pause)
-                       lcl_adv |= ADVERTISE_PAUSE_CAP;
-               if (phydev->advertising & ADVERTISED_Asym_Pause)
-                       lcl_adv |= ADVERTISE_PAUSE_ASYM;
 
+               lcl_adv = ethtool_adv_to_lcl_adv_t(phydev->advertising);
                cap = mii_resolve_flowctrl_fdx(lcl_adv, rmt_adv);
                if (cap & FLOW_CTRL_TX)
                        txcr |= AVE_TXCR_FLOCTR;
 
                linkmode_set_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, advertising);
 }
 
+/**
+ * ethtool_adv_to_lcl_adv_t
+ * @advertising:pointer to ethtool advertising
+ *
+ * A small helper function that translates ethtool advertising to LVL
+ * pause capabilities.
+ */
+static inline u32 ethtool_adv_to_lcl_adv_t(u32 advertising)
+{
+       u32 lcl_adv = 0;
+
+       if (advertising & ADVERTISED_Pause)
+               lcl_adv |= ADVERTISE_PAUSE_CAP;
+       if (advertising & ADVERTISED_Asym_Pause)
+               lcl_adv |= ADVERTISE_PAUSE_ASYM;
+
+       return lcl_adv;
+}
+
 /**
  * mii_advertise_flowctrl - get flow control advertisement flags
  * @cap: Flow control capabilities (FLOW_CTRL_RX, FLOW_CTRL_TX or both)