net: phy: used genphy_soft_reset for phy reset in LAN87xx
authorArun Ramadoss <arun.ramadoss@microchip.com>
Fri, 4 Mar 2022 09:43:56 +0000 (15:13 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 4 Mar 2022 12:45:18 +0000 (12:45 +0000)
Replaced the current code of resetting of LAN87xx phy to
genphy_soft_reset library function.

Signed-off-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/microchip_t1.c

index bc50224..c6a8c22 100644 (file)
@@ -197,20 +197,10 @@ static int lan87xx_phy_init(struct phy_device *phydev)
        if (rc < 0)
                return rc;
 
-       /* Soft Reset the SMI block */
-       rc = access_ereg_modify_changed(phydev, PHYACC_ATTR_BANK_SMI,
-                                       0x00, 0x8000, 0x8000);
-       if (rc < 0)
-               return rc;
-
-       /* Check to see if the self-clearing bit is cleared */
-       usleep_range(1000, 2000);
-       rc = access_ereg(phydev, PHYACC_ATTR_MODE_READ,
-                        PHYACC_ATTR_BANK_SMI, 0x00, 0);
+       /* phy Soft reset */
+       rc = genphy_soft_reset(phydev);
        if (rc < 0)
                return rc;
-       if ((rc & 0x8000) != 0)
-               return -ETIMEDOUT;
 
        /* PHY Initialization */
        for (i = 0; i < ARRAY_SIZE(init); i++) {