mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
ASoC: ep93xx: i2s: move enable call to startup callback
Make startup/shutdown callbacks symmetric to avoid clock subsystem warnings (reproduced with "aplay --dump-hw-params" + ctrl-c): WARNING: CPU: 0 PID: 102 at drivers/clk/clk.c:1048 clk_core_disable lrclk already disabled CPU: 0 PID: 102 Comm: aplay Not tainted 6.2.0-rc4 #1 Hardware name: Generic DT based system ... clk_core_disable from clk_core_disable_lock clk_core_disable_lock from ep93xx_i2s_shutdown ep93xx_i2s_shutdown from snd_soc_dai_shutdown snd_soc_dai_shutdown from soc_pcm_clean soc_pcm_clean from soc_pcm_close soc_pcm_close from snd_pcm_release_substream.part.0 snd_pcm_release_substream.part.0 from snd_pcm_release snd_pcm_release from __fput __fput from task_work_run ... WARNING: CPU: 0 PID: 102 at drivers/clk/clk.c:907 clk_core_unprepare lrclk already unprepared CPU: 0 PID: 102 Comm: aplay Tainted: G W 6.2.0-rc4 #1 Hardware name: Generic DT based system ... clk_core_unprepare from clk_unprepare clk_unprepare from ep93xx_i2s_shutdown ep93xx_i2s_shutdown from snd_soc_dai_shutdown snd_soc_dai_shutdown from soc_pcm_clean soc_pcm_clean from soc_pcm_close soc_pcm_close from snd_pcm_release_substream.part.0 snd_pcm_release_substream.part.0 from snd_pcm_release snd_pcm_release from __fput __fput from task_work_run ... Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Link: https://lore.kernel.org/r/20230410223902.2321834-2-alexander.sverdlin@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
be5418dfc1
commit
80f4712253
|
|
@ -208,6 +208,16 @@ static int ep93xx_i2s_dai_probe(struct snd_soc_dai *dai)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int ep93xx_i2s_startup(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
struct ep93xx_i2s_info *info = snd_soc_dai_get_drvdata(dai);
|
||||
|
||||
ep93xx_i2s_enable(info, substream->stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ep93xx_i2s_shutdown(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
|
|
@ -348,7 +358,6 @@ static int ep93xx_i2s_hw_params(struct snd_pcm_substream *substream,
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
ep93xx_i2s_enable(info, substream->stream);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -397,6 +406,7 @@ static int ep93xx_i2s_resume(struct snd_soc_component *component)
|
|||
#endif
|
||||
|
||||
static const struct snd_soc_dai_ops ep93xx_i2s_dai_ops = {
|
||||
.startup = ep93xx_i2s_startup,
|
||||
.shutdown = ep93xx_i2s_shutdown,
|
||||
.hw_params = ep93xx_i2s_hw_params,
|
||||
.set_sysclk = ep93xx_i2s_set_sysclk,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user