]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: realtek: create rtl8211f_config_phy_eee() helper
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 17 Nov 2025 23:40:33 +0000 (01:40 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 20 Nov 2025 04:24:23 +0000 (20:24 -0800)
To simplify the rtl8211f_config_init() control flow and get rid of
"early" returns for PHYs where the PHYCR2 register is absent, move the
entire logic sub-block that deals with disabling PHY-mode EEE to a
separate function. There, it is much more obvious what the early
"return 0" skips, and it becomes more difficult to accidentally skip
unintended stuff.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20251117234033.345679-7-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/realtek/realtek_main.c

index 2ecdcea53a11c8c4b84c6424645b435bdd6b04cb..67ecf3d4af2b1977f418f8d49a41842c1cc04df5 100644 (file)
@@ -689,6 +689,17 @@ static int rtl8211f_config_aldps(struct phy_device *phydev)
                                mask, mask);
 }
 
+static int rtl8211f_config_phy_eee(struct phy_device *phydev)
+{
+       /* RTL8211FVD has no PHYCR2 register */
+       if (phydev->drv->phy_id == RTL_8211FVD_PHYID)
+               return 0;
+
+       /* Disable PHY-mode EEE so LPI is passed to the MAC */
+       return phy_modify_paged(phydev, RTL8211F_PHYCR_PAGE, RTL8211F_PHYCR2,
+                               RTL8211F_PHYCR2_PHY_EEE_ENABLE, 0);
+}
+
 static int rtl8211f_config_init(struct phy_device *phydev)
 {
        struct device *dev = &phydev->mdio.dev;
@@ -712,17 +723,7 @@ static int rtl8211f_config_init(struct phy_device *phydev)
                return ret;
        }
 
-       /* RTL8211FVD has no PHYCR2 register */
-       if (phydev->drv->phy_id == RTL_8211FVD_PHYID)
-               return 0;
-
-       /* Disable PHY-mode EEE so LPI is passed to the MAC */
-       ret = phy_modify_paged(phydev, RTL8211F_PHYCR_PAGE, RTL8211F_PHYCR2,
-                              RTL8211F_PHYCR2_PHY_EEE_ENABLE, 0);
-       if (ret)
-               return ret;
-
-       return 0;
+       return rtl8211f_config_phy_eee(phydev);
 }
 
 static int rtl821x_suspend(struct phy_device *phydev)