]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: marvell: mvmdio: use clk_get_optional
authorRosen Penev <rosenp@gmail.com>
Mon, 30 Sep 2024 21:16:28 +0000 (14:16 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 4 Oct 2024 00:00:01 +0000 (17:00 -0700)
The code seems to be handling EPROBE_DEFER explicitly and if there's no
error, enables the clock. clk_get_optional exists for that.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20240930211628.330703-1-rosenp@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/mvmdio.c

index e1d003fdbc2ed217e0fe20ea091ffd172cee1471..67378e9f538a12ae9cadd1914256aa5c3be6d674 100644 (file)
@@ -348,13 +348,12 @@ static int orion_mdio_probe(struct platform_device *pdev)
                if (type == BUS_TYPE_XSMI)
                        orion_mdio_xsmi_set_mdc_freq(bus);
        } else {
-               dev->clk[0] = clk_get(&pdev->dev, NULL);
-               if (PTR_ERR(dev->clk[0]) == -EPROBE_DEFER) {
-                       ret = -EPROBE_DEFER;
+               dev->clk[0] = clk_get_optional(&pdev->dev, NULL);
+               if (IS_ERR(dev->clk[0])) {
+                       ret = PTR_ERR(dev->clk[0]);
                        goto out_clk;
                }
-               if (!IS_ERR(dev->clk[0]))
-                       clk_prepare_enable(dev->clk[0]);
+               clk_prepare_enable(dev->clk[0]);
        }
 
 
@@ -422,8 +421,6 @@ static void orion_mdio_remove(struct platform_device *pdev)
        mdiobus_unregister(bus);
 
        for (i = 0; i < ARRAY_SIZE(dev->clk); i++) {
-               if (IS_ERR(dev->clk[i]))
-                       break;
                clk_disable_unprepare(dev->clk[i]);
                clk_put(dev->clk[i]);
        }