i2c: sun6i-p2wi: Use devm_clk_get_enabled()
authorAndi Shyti <andi.shyti@kernel.org>
Sun, 11 Jun 2023 22:57:00 +0000 (00:57 +0200)
committerWolfram Sang <wsa@kernel.org>
Fri, 23 Jun 2023 09:57:20 +0000 (11:57 +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>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-sun6i-p2wi.c

index 3cff1afe0caa2d36ed14256a600f943dbc241100..ad8270cdbd3ebe82df9ba319593b0a694f5421c0 100644 (file)
@@ -239,15 +239,9 @@ static int p2wi_probe(struct platform_device *pdev)
        if (irq < 0)
                return irq;
 
-       p2wi->clk = devm_clk_get(dev, NULL);
+       p2wi->clk = devm_clk_get_enabled(dev, NULL);
        if (IS_ERR(p2wi->clk)) {
                ret = PTR_ERR(p2wi->clk);
-               dev_err(dev, "failed to retrieve clk: %d\n", ret);
-               return ret;
-       }
-
-       ret = clk_prepare_enable(p2wi->clk);
-       if (ret) {
                dev_err(dev, "failed to enable clk: %d\n", ret);
                return ret;
        }
@@ -256,15 +250,14 @@ static int p2wi_probe(struct platform_device *pdev)
 
        p2wi->rstc = devm_reset_control_get_exclusive(dev, NULL);
        if (IS_ERR(p2wi->rstc)) {
-               ret = PTR_ERR(p2wi->rstc);
                dev_err(dev, "failed to retrieve reset controller: %d\n", ret);
-               goto err_clk_disable;
+               return PTR_ERR(p2wi->rstc);
        }
 
        ret = reset_control_deassert(p2wi->rstc);
        if (ret) {
                dev_err(dev, "failed to deassert reset line: %d\n", ret);
-               goto err_clk_disable;
+               return ret;
        }
 
        init_completion(&p2wi->complete);
@@ -307,9 +300,6 @@ static int p2wi_probe(struct platform_device *pdev)
 err_reset_assert:
        reset_control_assert(p2wi->rstc);
 
-err_clk_disable:
-       clk_disable_unprepare(p2wi->clk);
-
        return ret;
 }
 
@@ -318,7 +308,6 @@ static void p2wi_remove(struct platform_device *dev)
        struct p2wi *p2wi = platform_get_drvdata(dev);
 
        reset_control_assert(p2wi->rstc);
-       clk_disable_unprepare(p2wi->clk);
        i2c_del_adapter(&p2wi->adapter);
 }