Patchwork [net-next] net: phy: simplify genphy_config_eee_advert

login
register
mail settings
Submitter Heiner Kallweit
Date Feb. 11, 2019, 9:16 p.m.
Message ID <8323b521-11aa-c9b2-1ac3-52b8b6439fa7@gmail.com>
Download mbox | patch
Permalink /patch/723329/
State New
Headers show

Comments

Heiner Kallweit - Feb. 11, 2019, 9:16 p.m.
Use new function phy_modify_mmd_changed(), the result speaks for itself.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/phy/phy_device.c | 27 ++++++---------------------
 1 file changed, 6 insertions(+), 21 deletions(-)
David Miller - Feb. 12, 2019, 5:40 p.m.
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 11 Feb 2019 22:16:13 +0100

> Use new function phy_modify_mmd_changed(), the result speaks for itself.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Nice cleanup Heiner, applied.

Patch

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 3d14e48ae..2c61282a2 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -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;
 }
 
 /**