[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <770f7eee-113d-414c-b4c7-91d6b705eb78@wanadoo.fr>
Date: Fri, 6 Sep 2024 17:53:23 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: ying zuxin <yingzuxin@...o.com>, Herve Codina <herve.codina@...tlin.com>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
"moderated list:INFINEON PEB2466 ASoC CODEC" <alsa-devel@...a-project.org>,
"open list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..."
<linux-sound@...r.kernel.org>, open list <linux-kernel@...r.kernel.org>
Cc: opensource.kernel@...o.com, yang.yang@...o.com,
ying zuxin <11154159@...o.com>
Subject: Re: [PATCH] ASoC: codecs: Use devm_clk_get_enabled() helpers
Le 06/09/2024 à 10:48, ying zuxin a écrit :
> From: ying zuxin <11154159@...o.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@...o.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);
Powered by blists - more mailing lists