aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_analog.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-09-20 11:10:27 -0400
committerJaroslav Kysela <perex@suse.cz>2006-09-23 04:47:38 -0400
commiteb06ed8f4c2440558ebf465e8baeac6367d90201 (patch)
tree60501d5c4e918f96d26033b95373f4368ca929e2 /sound/pci/hda/patch_analog.c
parent33ef765131bcf82bc5fca3f25d8313fa4df93ce0 (diff)
[ALSA] hda-codec - Support multiple headphone pins
Some machines have multiple headpohne pins (usually on the lpatop and on the docking station) while the current hda-codec driver assumes a single headphone pin. Now it supports multiple hp pins (at least for detection). The sigmatel 92xx code supports this new multiple hp pins. It detects all hp pins for auto-muting, too. Also, the driver checks speaker pins in addition. In some cases, all line-out, speaker and hp-pins coexist. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/hda/patch_analog.c')
-rw-r--r--sound/pci/hda/patch_analog.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index 71abc2aa61a6..511df07fa2a3 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -2471,7 +2471,7 @@ static void ad1988_auto_init_extra_out(struct hda_codec *codec)
2471 pin = spec->autocfg.speaker_pins[0]; 2471 pin = spec->autocfg.speaker_pins[0];
2472 if (pin) /* connect to front */ 2472 if (pin) /* connect to front */
2473 ad1988_auto_set_output_and_unmute(codec, pin, PIN_OUT, 0); 2473 ad1988_auto_set_output_and_unmute(codec, pin, PIN_OUT, 0);
2474 pin = spec->autocfg.hp_pin; 2474 pin = spec->autocfg.hp_pins[0];
2475 if (pin) /* connect to front */ 2475 if (pin) /* connect to front */
2476 ad1988_auto_set_output_and_unmute(codec, pin, PIN_HP, 0); 2476 ad1988_auto_set_output_and_unmute(codec, pin, PIN_HP, 0);
2477} 2477}
@@ -2523,7 +2523,7 @@ static int ad1988_parse_auto_config(struct hda_codec *codec)
2523 (err = ad1988_auto_create_extra_out(codec, 2523 (err = ad1988_auto_create_extra_out(codec,
2524 spec->autocfg.speaker_pins[0], 2524 spec->autocfg.speaker_pins[0],
2525 "Speaker")) < 0 || 2525 "Speaker")) < 0 ||
2526 (err = ad1988_auto_create_extra_out(codec, spec->autocfg.hp_pin, 2526 (err = ad1988_auto_create_extra_out(codec, spec->autocfg.hp_pins[0],
2527 "Headphone")) < 0 || 2527 "Headphone")) < 0 ||
2528 (err = ad1988_auto_create_analog_input_ctls(spec, &spec->autocfg)) < 0) 2528 (err = ad1988_auto_create_analog_input_ctls(spec, &spec->autocfg)) < 0)
2529 return err; 2529 return err;