net: phy: use mii_bmcr_encode_fixed()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Sat, 18 Jun 2022 10:28:37 +0000 (11:28 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Jun 2022 09:38:26 +0000 (10:38 +0100)
phylib can make use of the newly introduced mii_bmcr_encode_fixed()
macro, so let's convert it over.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c

index 431a871..7885bce 100644 (file)
@@ -2001,18 +2001,12 @@ EXPORT_SYMBOL(genphy_config_eee_advert);
  */
 int genphy_setup_forced(struct phy_device *phydev)
 {
-       u16 ctl = 0;
+       u16 ctl;
 
        phydev->pause = 0;
        phydev->asym_pause = 0;
 
-       if (SPEED_1000 == phydev->speed)
-               ctl |= BMCR_SPEED1000;
-       else if (SPEED_100 == phydev->speed)
-               ctl |= BMCR_SPEED100;
-
-       if (DUPLEX_FULL == phydev->duplex)
-               ctl |= BMCR_FULLDPLX;
+       ctl = mii_bmcr_encode_fixed(phydev->speed, phydev->duplex);
 
        return phy_modify(phydev, MII_BMCR,
                          ~(BMCR_LOOPBACK | BMCR_ISOLATE | BMCR_PDOWN), ctl);
@@ -2614,13 +2608,7 @@ int genphy_loopback(struct phy_device *phydev, bool enable)
                u16 val, ctl = BMCR_LOOPBACK;
                int ret;
 
-               if (phydev->speed == SPEED_1000)
-                       ctl |= BMCR_SPEED1000;
-               else if (phydev->speed == SPEED_100)
-                       ctl |= BMCR_SPEED100;
-
-               if (phydev->duplex == DUPLEX_FULL)
-                       ctl |= BMCR_FULLDPLX;
+               ctl |= mii_bmcr_encode_fixed(phydev->speed, phydev->duplex);
 
                phy_modify(phydev, MII_BMCR, ~0, ctl);