Message ID | 20231206235728.6985-3-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: phy: at803x: cleanup | expand |
On Thu, Dec 07, 2023 at 12:57:17AM +0100, Christian Marangi wrote: > Move the WOL disable call to specific at8031 probe to make at803x_probe > more generic and drop extra check for PHY ID. > > Keep the same previous behaviour by first calling at803x_probe and then > disabling WOL. > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > Reviewed-by: Andrew Lunn <andrew@lunn.ch> > --- > drivers/net/phy/at803x.c | 29 +++++++++++++++++++---------- > 1 file changed, 19 insertions(+), 10 deletions(-) > > diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c > index ef203b0807e5..85302d96d133 100644 > --- a/drivers/net/phy/at803x.c > +++ b/drivers/net/phy/at803x.c > @@ -886,15 +886,6 @@ static int at803x_probe(struct phy_device *phydev) > priv->is_fiber = true; > break; > } > - > - /* Disable WoL in 1588 register which is enabled > - * by default > - */ > - ret = phy_modify_mmd(phydev, MDIO_MMD_PCS, > - AT803X_PHY_MMD3_WOL_CTRL, > - AT803X_WOL_EN, 0); > - if (ret) > - return ret; > } > > return 0; > @@ -1591,6 +1582,24 @@ static int at803x_cable_test_start(struct phy_device *phydev) > return 0; > } > > +static int at8031_probe(struct phy_device *phydev) > +{ > + int ret; > + > + ret = at803x_probe(phydev); > + if (ret) > + return ret; > + > + /* Disable WoL in 1588 register which is enabled > + * by default > + */ > + ret = phy_modify_mmd(phydev, MDIO_MMD_PCS, > + AT803X_PHY_MMD3_WOL_CTRL, > + AT803X_WOL_EN, 0); > + > + return ret; return phy_modify_mmd(...) ?
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index ef203b0807e5..85302d96d133 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -886,15 +886,6 @@ static int at803x_probe(struct phy_device *phydev) priv->is_fiber = true; break; } - - /* Disable WoL in 1588 register which is enabled - * by default - */ - ret = phy_modify_mmd(phydev, MDIO_MMD_PCS, - AT803X_PHY_MMD3_WOL_CTRL, - AT803X_WOL_EN, 0); - if (ret) - return ret; } return 0; @@ -1591,6 +1582,24 @@ static int at803x_cable_test_start(struct phy_device *phydev) return 0; } +static int at8031_probe(struct phy_device *phydev) +{ + int ret; + + ret = at803x_probe(phydev); + if (ret) + return ret; + + /* Disable WoL in 1588 register which is enabled + * by default + */ + ret = phy_modify_mmd(phydev, MDIO_MMD_PCS, + AT803X_PHY_MMD3_WOL_CTRL, + AT803X_WOL_EN, 0); + + return ret; +} + static int qca83xx_config_init(struct phy_device *phydev) { u8 switch_revision; @@ -2092,7 +2101,7 @@ static struct phy_driver at803x_driver[] = { PHY_ID_MATCH_EXACT(ATH8031_PHY_ID), .name = "Qualcomm Atheros AR8031/AR8033", .flags = PHY_POLL_CABLE_TEST, - .probe = at803x_probe, + .probe = at8031_probe, .config_init = at803x_config_init, .config_aneg = at803x_config_aneg, .soft_reset = genphy_soft_reset,