]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: stmmac: rk: simplify px30_set_rmii_speed()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 12 Jun 2025 15:41:12 +0000 (16:41 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 14 Jun 2025 01:22:59 +0000 (18:22 -0700)
px30_set_rmii_speed() doesn't need to be as verbose as it is - it
merely needs the values for the register and clock rate which depend
on the speed, and then call the appropriate functions. Rewrite the
function to make it so.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/E1uPk3E-004CFl-BZ@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

index 8ad6b3b0e2823dc431ab0138030627812646e10b..72f2b80bf3bb76db2e5ca95ebc6680dc286be982 100644 (file)
@@ -250,6 +250,8 @@ static void px30_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed)
 {
        struct clk *clk_mac_speed = bsp_priv->clks[RK_CLK_MAC_SPEED].clk;
        struct device *dev = &bsp_priv->pdev->dev;
+       unsigned int con1;
+       long rate;
        int ret;
 
        if (!clk_mac_speed) {
@@ -258,25 +260,22 @@ static void px30_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed)
        }
 
        if (speed == 10) {
-               regmap_write(bsp_priv->grf, PX30_GRF_GMAC_CON1,
-                            PX30_GMAC_SPEED_10M);
-
-               ret = clk_set_rate(clk_mac_speed, 2500000);
-               if (ret)
-                       dev_err(dev, "%s: set clk_mac_speed rate 2500000 failed: %d\n",
-                               __func__, ret);
+               con1 = PX30_GMAC_SPEED_10M;
+               rate = 2500000;
        } else if (speed == 100) {
-               regmap_write(bsp_priv->grf, PX30_GRF_GMAC_CON1,
-                            PX30_GMAC_SPEED_100M);
-
-               ret = clk_set_rate(clk_mac_speed, 25000000);
-               if (ret)
-                       dev_err(dev, "%s: set clk_mac_speed rate 25000000 failed: %d\n",
-                               __func__, ret);
-
+               con1 = PX30_GMAC_SPEED_100M;
+               rate = 25000000;
        } else {
                dev_err(dev, "unknown speed value for RMII! speed=%d", speed);
+               return;
        }
+
+       regmap_write(bsp_priv->grf, PX30_GRF_GMAC_CON1, con1);
+
+       ret = clk_set_rate(clk_mac_speed, rate);
+       if (ret)
+               dev_err(dev, "%s: set clk_mac_speed rate %ld failed: %d\n",
+                       __func__, rate, ret);
 }
 
 static const struct rk_gmac_ops px30_ops = {