Commit 078e0b53 authored by Russell King (Oracle)'s avatar Russell King (Oracle) Committed by Jakub Kicinski
Browse files

net: phylink: use mdiobus_modify_changed() helper



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

Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 79365f36
Loading
Loading
Loading
Loading
+4 −25
Original line number Diff line number Diff line
@@ -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 */