Commit 4c5107b8 authored by Rosen Penev's avatar Rosen Penev Committed by Jakub Kicinski
Browse files

net: marvell: mvmdio: use clk_get_optional



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: default avatarRosen Penev <rosenp@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20240930211628.330703-1-rosenp@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b7074e43
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -348,12 +348,11 @@ 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]);
	}

@@ -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]);
	}