Le 06/09/2024 à 10:48, ying zuxin a écrit :
From: ying zuxin 11154159@vivo.com
The devm_clk_get_enabled() helpers: - call devm_clk_get() - call clk_prepare_enable() and register what is needed in order to call clk_disable_unprepare() when needed, as a managed resource.
This simplifies the code and avoids the calls to clk_disable_unprepare().
Signed-off-by: ying zuxin 11154159@vivo.com
sound/soc/codecs/peb2466.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/sound/soc/codecs/peb2466.c b/sound/soc/codecs/peb2466.c index 76ee7e3f4d9b..b67cfad4fc32 100644 --- a/sound/soc/codecs/peb2466.c +++ b/sound/soc/codecs/peb2466.c @@ -1975,12 +1975,9 @@ static int peb2466_spi_probe(struct spi_device *spi) if (IS_ERR(peb2466->reset_gpio)) return PTR_ERR(peb2466->reset_gpio);
- peb2466->mclk = devm_clk_get(&peb2466->spi->dev, "mclk");
- peb2466->mclk = devm_clk_get_enabled(&peb2466->spi->dev, "mclk"); if (IS_ERR(peb2466->mclk)) return PTR_ERR(peb2466->mclk);
ret = clk_prepare_enable(peb2466->mclk);
if (ret)
return ret;
if (peb2466->reset_gpio) { gpiod_set_value_cansleep(peb2466->reset_gpio, 1);
@@ -2031,17 +2028,9 @@ static int peb2466_spi_probe(struct spi_device *spi) return 0;
failed:
- clk_disable_unprepare(peb2466->mclk); return ret;
Hi,
so the 'failed' label is now mostly useless and direct returns could be used instead.
CJ
}
-static void peb2466_spi_remove(struct spi_device *spi) -{
- struct peb2466 *peb2466 = spi_get_drvdata(spi);
- clk_disable_unprepare(peb2466->mclk);
-}
- static const struct of_device_id peb2466_of_match[] = { { .compatible = "infineon,peb2466", }, { }
@@ -2061,7 +2050,6 @@ static struct spi_driver peb2466_spi_driver = { }, .id_table = peb2466_id_table, .probe = peb2466_spi_probe,
.remove = peb2466_spi_remove, };
module_spi_driver(peb2466_spi_driver);