forked from Minki/linux
ASoC: wm9712: Fix microphone source selection
Currently the microphone input source is not selectable as while there is a DAPM widget it's not connected to anything so it won't be properly instantiated. Add something more correct for the input structure to get things going, even though it's not hooked into the rest of the routing map and so won't actually achieve anything except allowing the relevant register bits to be written. Reported-by: Christop Fritz <chf.fritz@googlemail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
939d5044b1
commit
ccf795847a
@ -272,7 +272,7 @@ SOC_DAPM_ENUM("Route", wm9712_enum[9]);
|
||||
|
||||
/* Mic select */
|
||||
static const struct snd_kcontrol_new wm9712_mic_src_controls =
|
||||
SOC_DAPM_ENUM("Route", wm9712_enum[7]);
|
||||
SOC_DAPM_ENUM("Mic Source Select", wm9712_enum[7]);
|
||||
|
||||
/* diff select */
|
||||
static const struct snd_kcontrol_new wm9712_diff_sel_controls =
|
||||
@ -291,7 +291,9 @@ SND_SOC_DAPM_MUX("Left Capture Select", SND_SOC_NOPM, 0, 0,
|
||||
&wm9712_capture_selectl_controls),
|
||||
SND_SOC_DAPM_MUX("Right Capture Select", SND_SOC_NOPM, 0, 0,
|
||||
&wm9712_capture_selectr_controls),
|
||||
SND_SOC_DAPM_MUX("Mic Select Source", SND_SOC_NOPM, 0, 0,
|
||||
SND_SOC_DAPM_MUX("Left Mic Select Source", SND_SOC_NOPM, 0, 0,
|
||||
&wm9712_mic_src_controls),
|
||||
SND_SOC_DAPM_MUX("Right Mic Select Source", SND_SOC_NOPM, 0, 0,
|
||||
&wm9712_mic_src_controls),
|
||||
SND_SOC_DAPM_MUX("Differential Source", SND_SOC_NOPM, 0, 0,
|
||||
&wm9712_diff_sel_controls),
|
||||
@ -319,6 +321,7 @@ SND_SOC_DAPM_PGA("Out 3 PGA", AC97_INT_PAGING, 5, 1, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("Line PGA", AC97_INT_PAGING, 2, 1, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("Phone PGA", AC97_INT_PAGING, 1, 1, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("Mic PGA", AC97_INT_PAGING, 0, 1, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("Differential Mic", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
SND_SOC_DAPM_MICBIAS("Mic Bias", AC97_INT_PAGING, 10, 1),
|
||||
SND_SOC_DAPM_OUTPUT("MONOOUT"),
|
||||
SND_SOC_DAPM_OUTPUT("HPOUTL"),
|
||||
@ -379,6 +382,18 @@ static const struct snd_soc_dapm_route wm9712_audio_map[] = {
|
||||
{"Mic PGA", NULL, "MIC1"},
|
||||
{"Mic PGA", NULL, "MIC2"},
|
||||
|
||||
/* microphones */
|
||||
{"Differential Mic", NULL, "MIC1"},
|
||||
{"Differential Mic", NULL, "MIC2"},
|
||||
{"Left Mic Select Source", "Mic 1", "MIC1"},
|
||||
{"Left Mic Select Source", "Mic 2", "MIC2"},
|
||||
{"Left Mic Select Source", "Stereo", "MIC1"},
|
||||
{"Left Mic Select Source", "Differential", "Differential Mic"},
|
||||
{"Right Mic Select Source", "Mic 1", "MIC1"},
|
||||
{"Right Mic Select Source", "Mic 2", "MIC2"},
|
||||
{"Right Mic Select Source", "Stereo", "MIC2"},
|
||||
{"Right Mic Select Source", "Differential", "Differential Mic"},
|
||||
|
||||
/* left capture selector */
|
||||
{"Left Capture Select", "Mic", "MIC1"},
|
||||
{"Left Capture Select", "Speaker Mixer", "Speaker Mixer"},
|
||||
|
Loading…
Reference in New Issue
Block a user