Commit 3c01b0e1 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown

ASoC: dapm: Add support for hw_free on CODEC to CODEC links

Currently, on power down for a CODEC to CODEC DAI link we only call
digital_mute and shutdown. Provide a little more flexibility for drivers
by adding a call to hw_free as well.
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 9ab2a1bd
......@@ -3737,26 +3737,31 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
ret = 0;
}
substream.stream = SNDRV_PCM_STREAM_CAPTURE;
snd_soc_dapm_widget_for_each_source_path(w, path) {
source = path->source->priv;
if (source->driver->ops->hw_free)
source->driver->ops->hw_free(&substream,
source);
source->active--;
if (source->driver->ops->shutdown) {
substream.stream = SNDRV_PCM_STREAM_CAPTURE;
if (source->driver->ops->shutdown)
source->driver->ops->shutdown(&substream,
source);
}
}
substream.stream = SNDRV_PCM_STREAM_PLAYBACK;
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sink = path->sink->priv;
if (sink->driver->ops->hw_free)
sink->driver->ops->hw_free(&substream, sink);
sink->active--;
if (sink->driver->ops->shutdown) {
substream.stream = SNDRV_PCM_STREAM_PLAYBACK;
if (sink->driver->ops->shutdown)
sink->driver->ops->shutdown(&substream, sink);
}
}
break;
default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment