Skip to content

Commit

Permalink
ASoC: dapm: Add support for hw_free on CODEC to CODEC links
Browse files Browse the repository at this point in the history
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: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Charles Keepax authored and Mark Brown committed Oct 19, 2018
1 parent 9ab2a1b commit 3c01b0e
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions sound/soc/soc-dapm.c
Original file line number Diff line number Diff line change
Expand Up @@ -3737,25 +3737,30 @@ 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;

Expand Down

0 comments on commit 3c01b0e

Please sign in to comment.