aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-10-31 12:16:31 -0400
committerTakashi Iwai <tiwai@suse.de>2008-10-31 12:23:24 -0400
commitee956e090e114ede6542c76a7465ed6ce118ad52 (patch)
treebb6f2670bad62898e3c59279c6d8bfc76f6508ff
parent4605b718e8b8f0dd3d811ddf90f630fd0835b7bf (diff)
ALSA: hda - Add digital-mic for ALC269 auto-probe mode
The digital mic wasn't detected properly for ALC269 auto-probing mode because of its widget number. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_realtek.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index a80d57cbc352..d327a371595c 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -12244,8 +12244,26 @@ static int alc269_auto_create_multi_out_ctls(struct alc_spec *spec,
12244 return 0; 12244 return 0;
12245} 12245}
12246 12246
12247#define alc269_auto_create_analog_input_ctls \ 12247static int alc269_auto_create_analog_input_ctls(struct alc_spec *spec,
12248 alc880_auto_create_analog_input_ctls 12248 const struct auto_pin_cfg *cfg)
12249{
12250 int err;
12251
12252 err = alc880_auto_create_analog_input_ctls(spec, cfg);
12253 if (err < 0)
12254 return err;
12255 /* digital-mic input pin is excluded in alc880_auto_create..()
12256 * because it's under 0x18
12257 */
12258 if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 ||
12259 cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) {
12260 struct hda_input_mux *imux = &spec->private_imux;
12261 imux->items[imux->num_items].label = "Int Mic";
12262 imux->items[imux->num_items].index = 0x05;
12263 imux->num_items++;
12264 }
12265 return 0;
12266}
12249 12267
12250#ifdef CONFIG_SND_HDA_POWER_SAVE 12268#ifdef CONFIG_SND_HDA_POWER_SAVE
12251#define alc269_loopbacks alc880_loopbacks 12269#define alc269_loopbacks alc880_loopbacks