]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-alc269-dmic
Reenabled linux-xen and xen-image build
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.drivers / alsa-hda-realtek-alc269-dmic
CommitLineData
00e5a55c
BS
1From: Takashi Iwai <tiwai@suse.de>
2Subject: ALSA: hda - Add digital-mic for ALC269 auto-probe mode
3Patch-mainline:
4References: bnc#440626
5
6The digital mic wasn't detected properly for ALC269 auto-probing mode
7because of its widget number. Fixed now.
8
9Signed-off-by: Takashi Iwai <tiwai@suse.de>
10
11---
12 sound/pci/hda/patch_realtek.c | 22 ++++++++++++++++++++--
13 1 file changed, 20 insertions(+), 2 deletions(-)
14
15--- a/sound/pci/hda/patch_realtek.c
16+++ b/sound/pci/hda/patch_realtek.c
17@@ -12251,8 +12251,26 @@ static int alc269_auto_create_multi_out_
18 return 0;
19 }
20
21-#define alc269_auto_create_analog_input_ctls \
22- alc880_auto_create_analog_input_ctls
23+static int alc269_auto_create_analog_input_ctls(struct alc_spec *spec,
24+ const struct auto_pin_cfg *cfg)
25+{
26+ int err;
27+
28+ err = alc880_auto_create_analog_input_ctls(spec, cfg);
29+ if (err < 0)
30+ return err;
31+ /* digital-mic input pin is excluded in alc880_auto_create..()
32+ * because it's under 0x18
33+ */
34+ if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 ||
35+ cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) {
36+ struct hda_input_mux *imux = &spec->private_imux;
37+ imux->items[imux->num_items].label = "Int Mic";
38+ imux->items[imux->num_items].index = 0x05;
39+ imux->num_items++;
40+ }
41+ return 0;
42+}
43
44 #ifdef CONFIG_SND_HDA_POWER_SAVE
45 #define alc269_loopbacks alc880_loopbacks