mirror of https://gitee.com/openkylin/linux.git
ASoC: soc-dai: add snd_soc_dai_active()
Current snd_soc_dai_action() is updating dai->stream_active for Playback/Capture (A), dai->active for DAI (B) void snd_soc_dai_action(struct snd_soc_dai *dai, int stream, int action) { (A) dai->stream_active[stream] += action; (B) dai->active += action; dai->component->active += action; } But, these are very verbose, because we can calculate DAI active from stream_active. This patch adds snd_soc_dai_active() which calculate DAI active from DAI stream_active. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/877dxe6n4i.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
45eb8666e5
commit
efffd9b344
|
@ -173,6 +173,7 @@ static inline void snd_soc_dai_deactivate(struct snd_soc_dai *dai,
|
|||
{
|
||||
snd_soc_dai_action(dai, stream, -1);
|
||||
}
|
||||
int snd_soc_dai_active(struct snd_soc_dai *dai);
|
||||
|
||||
int snd_soc_pcm_dai_probe(struct snd_soc_pcm_runtime *rtd, int order);
|
||||
int snd_soc_pcm_dai_remove(struct snd_soc_pcm_runtime *rtd, int order);
|
||||
|
|
|
@ -397,6 +397,18 @@ void snd_soc_dai_action(struct snd_soc_dai *dai,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_dai_action);
|
||||
|
||||
int snd_soc_dai_active(struct snd_soc_dai *dai)
|
||||
{
|
||||
int stream, active;
|
||||
|
||||
active = 0;
|
||||
for_each_pcm_streams(stream)
|
||||
active += dai->stream_active[stream];
|
||||
|
||||
return active;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_dai_active);
|
||||
|
||||
int snd_soc_pcm_dai_probe(struct snd_soc_pcm_runtime *rtd, int order)
|
||||
{
|
||||
struct snd_soc_dai *dai;
|
||||
|
|
Loading…
Reference in New Issue