net: phy: smsc: use phy_set_bits in smsc_phy_config_init
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 8 Mar 2023 20:19:55 +0000 (21:19 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 10 Mar 2023 07:17:30 +0000 (23:17 -0800)
Simplify the code by using phy_set_bits().

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/b64d9f86-d029-b911-bbe9-6ca6889399d7@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/smsc.c

index feb6ac3..ac951d6 100644 (file)
@@ -99,20 +99,13 @@ static irqreturn_t smsc_phy_handle_interrupt(struct phy_device *phydev)
 static int smsc_phy_config_init(struct phy_device *phydev)
 {
        struct smsc_phy_priv *priv = phydev->priv;
-       int rc;
 
        if (!priv->energy_enable || phydev->irq != PHY_POLL)
                return 0;
 
-       rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);
-
-       if (rc < 0)
-               return rc;
-
-       /* Enable energy detect mode for this SMSC Transceivers */
-       rc = phy_write(phydev, MII_LAN83C185_CTRL_STATUS,
-                      rc | MII_LAN83C185_EDPWRDOWN);
-       return rc;
+       /* Enable energy detect power down mode */
+       return phy_set_bits(phydev, MII_LAN83C185_CTRL_STATUS,
+                           MII_LAN83C185_EDPWRDOWN);
 }
 
 static int smsc_phy_reset(struct phy_device *phydev)