]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | From: Takashi Iwai <tiwai@suse.de> |
2 | Subject: ALSA: hda - Add digital-mic for ALC269 auto-probe mode | |
3 | Patch-mainline: | |
4 | References: bnc#440626 | |
5 | ||
6 | The digital mic wasn't detected properly for ALC269 auto-probing mode | |
7 | because of its widget number. Fixed now. | |
8 | ||
9 | Signed-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 |