i2c: uniphier: Use devm_clk_get_enabled()
authorAndi Shyti <andi.shyti@kernel.org>
Sun, 11 Jun 2023 22:57:02 +0000 (00:57 +0200)
committerWolfram Sang <wsa@kernel.org>
Fri, 23 Jun 2023 10:22:41 +0000 (12:22 +0200)
Replace the pair of functions, devm_clk_get() and clk_prepare_enable(),
with a single function devm_clk_get_enabled().

Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-uniphier.c

index 96b1eb7489a3c9124fa20844d364c3aecd79b8ee..854ac25b586285a1d79e1c2f7e0fe6ad504016e8 100644 (file)
@@ -335,21 +335,16 @@ static int uniphier_i2c_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       priv->clk = devm_clk_get(dev, NULL);
+       priv->clk = devm_clk_get_enabled(dev, NULL);
        if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get clock\n");
+               dev_err(dev, "failed to enable clock\n");
                return PTR_ERR(priv->clk);
        }
 
-       ret = clk_prepare_enable(priv->clk);
-       if (ret)
-               return ret;
-
        clk_rate = clk_get_rate(priv->clk);
        if (!clk_rate) {
                dev_err(dev, "input clock rate should not be zero\n");
-               ret = -EINVAL;
-               goto disable_clk;
+               return -EINVAL;
        }
 
        priv->clk_cycle = clk_rate / bus_speed;
@@ -369,15 +364,10 @@ static int uniphier_i2c_probe(struct platform_device *pdev)
                               priv);
        if (ret) {
                dev_err(dev, "failed to request irq %d\n", irq);
-               goto disable_clk;
+               return ret;
        }
 
-       ret = i2c_add_adapter(&priv->adap);
-disable_clk:
-       if (ret)
-               clk_disable_unprepare(priv->clk);
-
-       return ret;
+       return i2c_add_adapter(&priv->adap);
 }
 
 static void uniphier_i2c_remove(struct platform_device *pdev)
@@ -385,7 +375,6 @@ static void uniphier_i2c_remove(struct platform_device *pdev)
        struct uniphier_i2c_priv *priv = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&priv->adap);
-       clk_disable_unprepare(priv->clk);
 }
 
 static int __maybe_unused uniphier_i2c_suspend(struct device *dev)