OSDN Git Service

phy: marvell: Rename mii_lpa_to_linkmode_lpa_t
authorAndrew Lunn <andrew@lunn.ch>
Wed, 5 Dec 2018 20:49:42 +0000 (21:49 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 6 Dec 2018 00:26:16 +0000 (16:26 -0800)
Rename mii_lpa_to_linkmode_lpa_t to mii_lpa_mod_linkmode_lpa_t to
indicate it modifies the passed linkmode bitmap, without clearing any
other bits.

Also, ensure bit are clear which the lpa indicates should not be set.

Fixes: c0ec3c273677 ("net: phy: Convert u32 phydev->lp_advertising to linkmode")
Suggested-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/marvell.c

index 03dafe0..a9c7c7f 100644 (file)
@@ -1047,21 +1047,21 @@ static int m88e1145_config_init(struct phy_device *phydev)
 }
 
 /**
- * fiber_lpa_to_linkmode_lpa_t
+ * fiber_lpa_mod_linkmode_lpa_t
  * @advertising: the linkmode advertisement settings
  * @lpa: value of the MII_LPA register for fiber link
  *
- * A small helper function that translates MII_LPA
- * bits to linkmode LP advertisement settings.
+ * A small helper function that translates MII_LPA bits to linkmode LP
+ * advertisement settings. Other bits in advertising are left
+ * unchanged.
  */
-static void fiber_lpa_to_linkmode_lpa_t(unsigned long *advertising, u32 lpa)
+static void fiber_lpa_mod_linkmode_lpa_t(unsigned long *advertising, u32 lpa)
 {
-       if (lpa & LPA_FIBER_1000HALF)
-               linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Half_BIT,
-                                advertising);
-       if (lpa & LPA_FIBER_1000FULL)
-               linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
-                                advertising);
+       linkmode_mod_bit(ETHTOOL_LINK_MODE_1000baseT_Half_BIT,
+                        advertising, lpa & LPA_FIBER_1000HALF);
+
+       linkmode_mod_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
+                        advertising, lpa & LPA_FIBER_1000FULL);
 }
 
 /**
@@ -1146,7 +1146,7 @@ static int marvell_read_status_page_an(struct phy_device *phydev,
                }
        } else {
                /* The fiber link is only 1000M capable */
-               fiber_lpa_to_linkmode_lpa_t(phydev->lp_advertising, lpa);
+               fiber_lpa_mod_linkmode_lpa_t(phydev->lp_advertising, lpa);
 
                if (phydev->duplex == DUPLEX_FULL) {
                        if (!(lpa & LPA_PAUSE_FIBER)) {