aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-dapm.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-06 23:58:22 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-01 11:28:23 +0100
commite06ab3b8e82c89a8ada25f61fbd9f02d6ca3103f (patch)
tree0672b6f7dc47588417293edf120744eb3a1bb615 /sound/soc/soc-dapm.c
parentASoC: DAPM: Make sure DAPM widget IO ops hold the component mutex (diff)
downloadlinux-dev-e06ab3b8e82c89a8ada25f61fbd9f02d6ca3103f.tar.xz
linux-dev-e06ab3b8e82c89a8ada25f61fbd9f02d6ca3103f.zip
ASoC: dapm: Only lock CODEC for I/O if not using regmap
If we do use regmap then regmap will take care of things for us. We actually already have this check at a higher level for the current users but this makes sure we do the right thing in the future too if we need to. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r--sound/soc/soc-dapm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 1e449f375d98..dd603fa38097 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -208,7 +208,7 @@ static int soc_widget_write(struct snd_soc_dapm_widget *w, int reg, int val)
static inline void soc_widget_lock(struct snd_soc_dapm_widget *w)
{
- if (w->codec)
+ if (w->codec && !w->codec->using_regmap)
mutex_lock(&w->codec->mutex);
else if (w->platform)
mutex_lock(&w->platform->mutex);
@@ -216,7 +216,7 @@ static inline void soc_widget_lock(struct snd_soc_dapm_widget *w)
static inline void soc_widget_unlock(struct snd_soc_dapm_widget *w)
{
- if (w->codec)
+ if (w->codec && !w->codec->using_regmap)
mutex_unlock(&w->codec->mutex);
else if (w->platform)
mutex_unlock(&w->platform->mutex);