From: Pei Xiao Date: Wed, 11 Mar 2026 01:55:13 +0000 (+0800) Subject: spi: atcspi200: Use helper function devm_clk_get_enabled() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97545e37234fdbe457f5104a09f55033550b3d84;p=thirdparty%2Flinux.git spi: atcspi200: Use helper function devm_clk_get_enabled() 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(). Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Signed-off-by: Pei Xiao Link: https://patch.msgid.link/e53aefc63e28caf32bcd553f3d0a8f2a5a25cd8d.1773193726.git.xiaopei01@kylinos.cn Signed-off-by: Mark Brown --- diff --git a/drivers/spi/spi-atcspi200.c b/drivers/spi/spi-atcspi200.c index 2075058387f34..257db4e529e27 100644 --- a/drivers/spi/spi-atcspi200.c +++ b/drivers/spi/spi-atcspi200.c @@ -486,11 +486,6 @@ static int atcspi_init_resources(struct platform_device *pdev, return dev_err_probe(spi->dev, PTR_ERR(spi->regmap), "Failed to init regmap\n"); - spi->clk = devm_clk_get(spi->dev, NULL); - if (IS_ERR(spi->clk)) - return dev_err_probe(spi->dev, PTR_ERR(spi->clk), - "Failed to get SPI clock\n"); - spi->sclk_rate = ATCSPI_MAX_SPEED_HZ; return 0; } @@ -526,13 +521,10 @@ err_exit: static int atcspi_enable_clk(struct atcspi_dev *spi) { - int ret; - - ret = clk_prepare_enable(spi->clk); - if (ret) - return dev_err_probe(spi->dev, ret, - "Failed to enable clock\n"); - + spi->clk = devm_clk_get_enabled(spi->dev, NULL); + if (IS_ERR(spi->clk)) + return dev_err_probe(spi->dev, PTR_ERR(spi->clk), + "Failed to get SPI clock\n"); spi->clk_rate = clk_get_rate(spi->clk); if (!spi->clk_rate) return dev_err_probe(spi->dev, -EINVAL, @@ -585,15 +577,14 @@ static int atcspi_probe(struct platform_device *pdev) ret = atcspi_setup(spi); if (ret) - goto disable_clk; + goto free_controller; ret = devm_spi_register_controller(&pdev->dev, host); if (ret) { dev_err_probe(spi->dev, ret, "Failed to register SPI controller\n"); - goto disable_clk; + goto free_controller; } - spi->use_dma = false; if (ATCSPI_DMA_SUPPORT) { ret = atcspi_configure_dma(spi); @@ -607,9 +598,6 @@ static int atcspi_probe(struct platform_device *pdev) return 0; -disable_clk: - clk_disable_unprepare(spi->clk); - free_controller: spi_controller_put(host); return ret;