Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: 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>

authored by

Rosen Penev and committed by
Jakub Kicinski
4c5107b8 b7074e43

+4 -7
+4 -7
drivers/net/ethernet/marvell/mvmdio.c
··· 348 348 if (type == BUS_TYPE_XSMI) 349 349 orion_mdio_xsmi_set_mdc_freq(bus); 350 350 } else { 351 - dev->clk[0] = clk_get(&pdev->dev, NULL); 352 - if (PTR_ERR(dev->clk[0]) == -EPROBE_DEFER) { 353 - ret = -EPROBE_DEFER; 351 + dev->clk[0] = clk_get_optional(&pdev->dev, NULL); 352 + if (IS_ERR(dev->clk[0])) { 353 + ret = PTR_ERR(dev->clk[0]); 354 354 goto out_clk; 355 355 } 356 - if (!IS_ERR(dev->clk[0])) 357 - clk_prepare_enable(dev->clk[0]); 356 + clk_prepare_enable(dev->clk[0]); 358 357 } 359 358 360 359 ··· 421 422 mdiobus_unregister(bus); 422 423 423 424 for (i = 0; i < ARRAY_SIZE(dev->clk); i++) { 424 - if (IS_ERR(dev->clk[i])) 425 - break; 426 425 clk_disable_unprepare(dev->clk[i]); 427 426 clk_put(dev->clk[i]); 428 427 }