OSDN Git Service

ASoC: Shutdown DAPM contexts when removing a card
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 4 Sep 2014 17:44:05 +0000 (19:44 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 4 Sep 2014 19:10:25 +0000 (20:10 +0100)
commit1c325f771a88579f227fe017e4ee77d852cf5435
tree87b6a35f1c652b9158e5e6c8a7be4ee37caca5d1
parent01e0df6647e713469466c7bb6d7157c2e3046192
ASoC: Shutdown DAPM contexts when removing a card

Currently when a ASoC sound card is unregistered we leave the individual
components in their current state, just call the remove() callback and leave
it to the drivers to do the proper shutdown/cleanup.

This patch introduces a call to snd_soc_dapm_shutdown() when removing the
card.  This will make sure that all DAPM widgets are properly powered down
and all DAPM contexts are put at the SND_SOC_BIAS_OFF level. This will
ensure that all components are properly powered down when the card is
removed.

Since a lot of drivers manually go to SND_SOC_BIAS_OFF in their remove
callback this will also allow us to remove a bit of duplicated code.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c