aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitris Papastamos <dp@opensource.wolfsonmicro.com>2011-03-01 07:54:39 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-03-03 06:12:37 -0500
commit8959c910884e8faf7987391d194d508e74904c16 (patch)
tree24922d26d601572f439f6b15079c9f5390571421
parent04d286819ba499839d04cbf847f2ea28d5cf4296 (diff)
ASoC: WM8994: Ensure MICBIAS is provided with a clock
The patch 'ASoC: WM8994: Improve Playback Robustness' did not handle this case properly. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/codecs/wm8994.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 4afbe3b2e443..38bfff7d209a 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -1103,6 +1103,13 @@ static int adc_mux_ev(struct snd_soc_dapm_widget *w,
1103 return 0; 1103 return 0;
1104} 1104}
1105 1105
1106static int micbias_ev(struct snd_soc_dapm_widget *w,
1107 struct snd_kcontrol *kcontrol, int event)
1108{
1109 late_enable_ev(w, kcontrol, event);
1110 return 0;
1111}
1112
1106static int dac_ev(struct snd_soc_dapm_widget *w, 1113static int dac_ev(struct snd_soc_dapm_widget *w,
1107 struct snd_kcontrol *kcontrol, int event) 1114 struct snd_kcontrol *kcontrol, int event)
1108{ 1115{
@@ -1440,6 +1447,10 @@ SND_SOC_DAPM_INPUT("DMIC1DAT"),
1440SND_SOC_DAPM_INPUT("DMIC2DAT"), 1447SND_SOC_DAPM_INPUT("DMIC2DAT"),
1441SND_SOC_DAPM_INPUT("Clock"), 1448SND_SOC_DAPM_INPUT("Clock"),
1442 1449
1450SND_SOC_DAPM_MICBIAS("MICBIAS", WM8994_MICBIAS, 2, 0),
1451SND_SOC_DAPM_SUPPLY_S("MICBIAS Supply", 1, SND_SOC_NOPM, 0, 0, micbias_ev,
1452 SND_SOC_DAPM_PRE_PMU),
1453
1443SND_SOC_DAPM_SUPPLY("CLK_SYS", SND_SOC_NOPM, 0, 0, clk_sys_event, 1454SND_SOC_DAPM_SUPPLY("CLK_SYS", SND_SOC_NOPM, 0, 0, clk_sys_event,
1444 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), 1455 SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
1445 1456
@@ -1755,6 +1766,8 @@ static const struct snd_soc_dapm_route wm8994_revd_intercon[] = {
1755 { "AIF2DACDAT", NULL, "AIF1DACDAT" }, 1766 { "AIF2DACDAT", NULL, "AIF1DACDAT" },
1756 { "AIF1ADCDAT", NULL, "AIF2ADCDAT" }, 1767 { "AIF1ADCDAT", NULL, "AIF2ADCDAT" },
1757 { "AIF2ADCDAT", NULL, "AIF1ADCDAT" }, 1768 { "AIF2ADCDAT", NULL, "AIF1ADCDAT" },
1769 { "MICBIAS", NULL, "CLK_SYS" },
1770 { "MICBIAS", NULL, "MICBIAS Supply" },
1758}; 1771};
1759 1772
1760static const struct snd_soc_dapm_route wm8994_intercon[] = { 1773static const struct snd_soc_dapm_route wm8994_intercon[] = {