Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43cbbc39 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown
Browse files

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: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 03510ca0
Loading
Loading
Loading
Loading
+13 −9
Original line number Diff line number Diff line
@@ -68,26 +68,30 @@ static void n810_ext_control(struct snd_soc_dapm_context *dapm)
		break;
	}

	snd_soc_dapm_mutex_lock(dapm);

	if (n810_spk_func)
		snd_soc_dapm_enable_pin(dapm, "Ext Spk");
		snd_soc_dapm_enable_pin_unlocked(dapm, "Ext Spk");
	else
		snd_soc_dapm_disable_pin(dapm, "Ext Spk");
		snd_soc_dapm_disable_pin_unlocked(dapm, "Ext Spk");

	if (hp)
		snd_soc_dapm_enable_pin(dapm, "Headphone Jack");
		snd_soc_dapm_enable_pin_unlocked(dapm, "Headphone Jack");
	else
		snd_soc_dapm_disable_pin(dapm, "Headphone Jack");
		snd_soc_dapm_disable_pin_unlocked(dapm, "Headphone Jack");
	if (line1l)
		snd_soc_dapm_enable_pin(dapm, "LINE1L");
		snd_soc_dapm_enable_pin_unlocked(dapm, "LINE1L");
	else
		snd_soc_dapm_disable_pin(dapm, "LINE1L");
		snd_soc_dapm_disable_pin_unlocked(dapm, "LINE1L");

	if (n810_dmic_func)
		snd_soc_dapm_enable_pin(dapm, "DMic");
		snd_soc_dapm_enable_pin_unlocked(dapm, "DMic");
	else
		snd_soc_dapm_disable_pin(dapm, "DMic");
		snd_soc_dapm_disable_pin_unlocked(dapm, "DMic");

	snd_soc_dapm_sync_unlocked(dapm);

	snd_soc_dapm_sync(dapm);
	snd_soc_dapm_mutex_unlock(dapm);
}

static int n810_startup(struct snd_pcm_substream *substream)