net: phylink: use mdiobus_modify_changed() helper

Use the mdiobus_modify_changed() helper in the C22 PCS advertisement
helper.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Russell King (Oracle) 2021-10-06 13:19:25 +01:00 committed by Jakub Kicinski
parent 79365f36d1
commit 078e0b5363
1 changed files with 4 additions and 25 deletions

View File

@ -2596,7 +2596,6 @@ int phylink_mii_c22_pcs_set_advertisement(struct mdio_device *pcs,
{
struct mii_bus *bus = pcs->bus;
int addr = pcs->addr;
int val, ret;
u16 adv;
switch (interface) {
@ -2610,32 +2609,12 @@ int phylink_mii_c22_pcs_set_advertisement(struct mdio_device *pcs,
advertising))
adv |= ADVERTISE_1000XPSE_ASYM;
val = mdiobus_read(bus, addr, MII_ADVERTISE);
if (val < 0)
return val;
if (val == adv)
return 0;
ret = mdiobus_write(bus, addr, MII_ADVERTISE, adv);
if (ret < 0)
return ret;
return 1;
return mdiobus_modify_changed(bus, addr, MII_ADVERTISE,
0xffff, adv);
case PHY_INTERFACE_MODE_SGMII:
val = mdiobus_read(bus, addr, MII_ADVERTISE);
if (val < 0)
return val;
if (val == 0x0001)
return 0;
ret = mdiobus_write(bus, addr, MII_ADVERTISE, 0x0001);
if (ret < 0)
return ret;
return 1;
return mdiobus_modify_changed(bus, addr, MII_ADVERTISE,
0xffff, 0x0001);
default:
/* Nothing to do for other modes */