spi: lantiq-ssc: Use helper function devm_clk_get_enabled()
authorLi Zetao <lizetao1@huawei.com>
Wed, 23 Aug 2023 13:39:27 +0000 (21:39 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 11 Sep 2023 00:32:03 +0000 (01:32 +0100)
Since commit 7ef9651e9792 ("clk: Provide new devm_clk helpers for prepared
and enabled clocks"), devm_clk_get() and clk_prepare_enable() can now be
replaced by devm_clk_get_enabled() when driver enables (and possibly
prepares) the clocks for the whole lifetime of the device. Moreover, it is
no longer necessary to unprepare and disable the clocks explicitly.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Li Zetao <lizetao1@huawei.com>
Link: https://lore.kernel.org/r/20230823133938.1359106-15-lizetao1@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-lantiq-ssc.c

index 938e9e577e4f0fb5ad7a6436bea83d5eb68cf6d0..18a46569ba46e98d987d250a4ca124496fdd4899 100644 (file)
@@ -932,14 +932,11 @@ static int lantiq_ssc_probe(struct platform_device *pdev)
        if (err)
                goto err_host_put;
 
-       spi->spi_clk = devm_clk_get(dev, "gate");
+       spi->spi_clk = devm_clk_get_enabled(dev, "gate");
        if (IS_ERR(spi->spi_clk)) {
                err = PTR_ERR(spi->spi_clk);
                goto err_host_put;
        }
-       err = clk_prepare_enable(spi->spi_clk);
-       if (err)
-               goto err_host_put;
 
        /*
         * Use the old clk_get_fpi() function on Lantiq platform, till it
@@ -952,7 +949,7 @@ static int lantiq_ssc_probe(struct platform_device *pdev)
 #endif
        if (IS_ERR(spi->fpi_clk)) {
                err = PTR_ERR(spi->fpi_clk);
-               goto err_clk_disable;
+               goto err_host_put;
        }
 
        num_cs = 8;
@@ -1010,8 +1007,6 @@ err_wq_destroy:
        destroy_workqueue(spi->wq);
 err_clk_put:
        clk_put(spi->fpi_clk);
-err_clk_disable:
-       clk_disable_unprepare(spi->spi_clk);
 err_host_put:
        spi_controller_put(host);
 
@@ -1029,7 +1024,6 @@ static void lantiq_ssc_remove(struct platform_device *pdev)
        hw_enter_config_mode(spi);
 
        destroy_workqueue(spi->wq);
-       clk_disable_unprepare(spi->spi_clk);
        clk_put(spi->fpi_clk);
 }