diff options
author | Oleksij Rempel <o.rempel@pengutronix.de> | 2023-02-11 08:41:11 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-02-13 11:12:31 +0000 |
commit | 5827b168125d16d93fe14284c2c377f32d13fce6 (patch) | |
tree | 64275d155792650cabd2c85683fc41388db4606d /drivers/net/phy | |
parent | 9b01c885be364526d8c05794f8358b3e563b7ff8 (diff) | |
download | linux-5827b168125d16d93fe14284c2c377f32d13fce6.tar.gz linux-5827b168125d16d93fe14284c2c377f32d13fce6.tar.bz2 linux-5827b168125d16d93fe14284c2c377f32d13fce6.zip |
net: phy: c45: migrate to genphy_c45_write_eee_adv()
Migrate from genphy_config_eee_advert() to genphy_c45_write_eee_adv().
It should work as before except write operation to the EEE adv registers
will be done only if some EEE abilities was detected.
If some driver will have a regression, related driver should provide own
.get_features callback. See micrel.c:ksz9477_get_features() as example.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r-- | drivers/net/phy/phy-c45.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c index b4910c4c21d7..ef36582adbeb 100644 --- a/drivers/net/phy/phy-c45.c +++ b/drivers/net/phy/phy-c45.c @@ -262,7 +262,11 @@ int genphy_c45_an_config_aneg(struct phy_device *phydev) linkmode_and(phydev->advertising, phydev->advertising, phydev->supported); - changed = genphy_config_eee_advert(phydev); + ret = genphy_c45_write_eee_adv(phydev, phydev->supported_eee); + if (ret < 0) + return ret; + else if (ret) + changed = true; if (genphy_c45_baset1_able(phydev)) return genphy_c45_baset1_an_config_aneg(phydev); @@ -968,6 +972,11 @@ int genphy_c45_pma_read_abilities(struct phy_device *phydev) } } + /* This is optional functionality. If not supported, we may get an error + * which should be ignored. + */ + genphy_c45_read_eee_abilities(phydev); + return 0; } EXPORT_SYMBOL_GPL(genphy_c45_pma_read_abilities); |