diff options
| author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2014-02-18 10:22:23 -0500 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2014-02-20 05:22:59 -0500 |
| commit | 43cbbc398f027483e129c3ed4634769ca60ed264 (patch) | |
| tree | cc51ade32255bea6011947cd092f65a520a2cf59 | |
| parent | 03510ca07ad48941072d673321d2b009be6dfcd4 (diff) | |
ASoC: omap: n810: Update locking around use of DAPM pin API
The pin updates in this driver look like they are intended to be done
atomically, update to do so.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
| -rw-r--r-- | sound/soc/omap/n810.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/sound/soc/omap/n810.c b/sound/soc/omap/n810.c index 3fde9e402710..480a39ce02bc 100644 --- a/sound/soc/omap/n810.c +++ b/sound/soc/omap/n810.c | |||
| @@ -68,26 +68,30 @@ static void n810_ext_control(struct snd_soc_dapm_context *dapm) | |||
| 68 | break; | 68 | break; |
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | snd_soc_dapm_mutex_lock(dapm); | ||
| 72 | |||
| 71 | if (n810_spk_func) | 73 | if (n810_spk_func) |
| 72 | snd_soc_dapm_enable_pin(dapm, "Ext Spk"); | 74 | snd_soc_dapm_enable_pin_unlocked(dapm, "Ext Spk"); |
| 73 | else | 75 | else |
| 74 | snd_soc_dapm_disable_pin(dapm, "Ext Spk"); | 76 | snd_soc_dapm_disable_pin_unlocked(dapm, "Ext Spk"); |
| 75 | 77 | ||
| 76 | if (hp) | 78 | if (hp) |
| 77 | snd_soc_dapm_enable_pin(dapm, "Headphone Jack"); | 79 | snd_soc_dapm_enable_pin_unlocked(dapm, "Headphone Jack"); |
| 78 | else | 80 | else |
| 79 | snd_soc_dapm_disable_pin(dapm, "Headphone Jack"); | 81 | snd_soc_dapm_disable_pin_unlocked(dapm, "Headphone Jack"); |
| 80 | if (line1l) | 82 | if (line1l) |
| 81 | snd_soc_dapm_enable_pin(dapm, "LINE1L"); | 83 | snd_soc_dapm_enable_pin_unlocked(dapm, "LINE1L"); |
| 82 | else | 84 | else |
| 83 | snd_soc_dapm_disable_pin(dapm, "LINE1L"); | 85 | snd_soc_dapm_disable_pin_unlocked(dapm, "LINE1L"); |
| 84 | 86 | ||
| 85 | if (n810_dmic_func) | 87 | if (n810_dmic_func) |
| 86 | snd_soc_dapm_enable_pin(dapm, "DMic"); | 88 | snd_soc_dapm_enable_pin_unlocked(dapm, "DMic"); |
| 87 | else | 89 | else |
| 88 | snd_soc_dapm_disable_pin(dapm, "DMic"); | 90 | snd_soc_dapm_disable_pin_unlocked(dapm, "DMic"); |
| 91 | |||
| 92 | snd_soc_dapm_sync_unlocked(dapm); | ||
| 89 | 93 | ||
| 90 | snd_soc_dapm_sync(dapm); | 94 | snd_soc_dapm_mutex_unlock(dapm); |
| 91 | } | 95 | } |
| 92 | 96 | ||
| 93 | static int n810_startup(struct snd_pcm_substream *substream) | 97 | static int n810_startup(struct snd_pcm_substream *substream) |
