net: phy: micrel: use devm_clk_get_optional_enabled for the rmii-ref clock
authorHeiko Stuebner <heiko.stuebner@cherry.de>
Fri, 1 Dec 2023 15:01:30 +0000 (16:01 +0100)
committerJakub Kicinski <kuba@kernel.org>
Mon, 4 Dec 2023 22:43:54 +0000 (14:43 -0800)
While the external clock input will most likely be enabled, it's not
guaranteed and clk_get_rate in some suppliers will even just return
valid results when the clock is running.

So use devm_clk_get_optional_enabled to retrieve and enable the clock
in one go.

Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20231201150131.326766-2-heiko@sntech.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/micrel.c

index bd4cd082662f419c6c6f15b6c9122aca6f2fea32..de116a0753a134327c4080effc6e9debda56a086 100644 (file)
@@ -2001,7 +2001,7 @@ static int kszphy_probe(struct phy_device *phydev)
 
        kszphy_parse_led_mode(phydev);
 
-       clk = devm_clk_get(&phydev->mdio.dev, "rmii-ref");
+       clk = devm_clk_get_optional_enabled(&phydev->mdio.dev, "rmii-ref");
        /* NOTE: clk may be NULL if building without CONFIG_HAVE_CLK */
        if (!IS_ERR_OR_NULL(clk)) {
                unsigned long rate = clk_get_rate(clk);