Commit 9f771f1f authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller

net: phy: simplify genphy_config_eee_advert

Use new function phy_modify_mmd_changed(), the result speaks for itself.
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c0ab4732
......@@ -1578,31 +1578,16 @@ static int genphy_config_advert(struct phy_device *phydev)
*/
static int genphy_config_eee_advert(struct phy_device *phydev)
{
int broken = phydev->eee_broken_modes;
int old_adv, adv;
int err;
/* Nothing to disable */
if (!broken)
if (!phydev->eee_broken_modes)
return 0;
/* If the following call fails, we assume that EEE is not
* supported by the phy. If we read 0, EEE is not advertised
* In both case, we don't need to continue
*/
adv = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV);
if (adv <= 0)
return 0;
old_adv = adv;
adv &= ~broken;
/* Advertising remains unchanged with the broken mask */
if (old_adv == adv)
return 0;
phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv);
return 1;
err = phy_modify_mmd_changed(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV,
phydev->eee_broken_modes, 0);
/* If the call failed, we assume that EEE is not supported */
return err < 0 ? 0 : err;
}
/**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment