]> git.itanic.dy.fi Git - linux-stable/commitdiff
net: phy: smsc: Deduplicate interrupt acknowledgement upon phy_init_hw()
authorLukas Wunner <lukas@wunner.de>
Mon, 20 Jun 2022 09:28:39 +0000 (11:28 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 22 Jun 2022 04:55:09 +0000 (21:55 -0700)
Since commit 4c0d2e96ba05 ("net: phy: consider that suspend2ram may cut
off PHY power"), phy_init_hw() invokes both, the ->config_init() and
->config_intr() callbacks.

In the SMSC PHY driver, the latter acknowledges stale interrupts, hence
there's no longer a need to acknowledge them in the former as well.

There are no other callers of ->config_init() besides phy_init_hw().

Drop the redundant code.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Link: https://lore.kernel.org/r/0254edf48bddc96c6248c4414043a3699e94614a.1655716767.git.lukas@wunner.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/smsc.c

index 1b54684b68a076ebeb03ea8f67c4e6c00ae13e40..dcd160785f95e025ca750fca7ed21b7b4936405d 100644 (file)
@@ -121,10 +121,7 @@ static int smsc_phy_config_init(struct phy_device *phydev)
        /* Enable energy detect mode for this SMSC Transceivers */
        rc = phy_write(phydev, MII_LAN83C185_CTRL_STATUS,
                       rc | MII_LAN83C185_EDPWRDOWN);
-       if (rc < 0)
-               return rc;
-
-       return smsc_phy_ack_interrupt(phydev);
+       return rc;
 }
 
 static int smsc_phy_reset(struct phy_device *phydev)
@@ -146,11 +143,6 @@ static int smsc_phy_reset(struct phy_device *phydev)
        return genphy_soft_reset(phydev);
 }
 
-static int lan911x_config_init(struct phy_device *phydev)
-{
-       return smsc_phy_ack_interrupt(phydev);
-}
-
 static int lan87xx_config_aneg(struct phy_device *phydev)
 {
        int rc;
@@ -418,9 +410,6 @@ static struct phy_driver smsc_phy_driver[] = {
 
        .probe          = smsc_phy_probe,
 
-       /* basic functions */
-       .config_init    = lan911x_config_init,
-
        /* IRQ related */
        .config_intr    = smsc_phy_config_intr,
        .handle_interrupt = smsc_phy_handle_interrupt,