diff options
Diffstat (limited to 'sound/pci/hda/alc_quirks.c')
-rw-r--r-- | sound/pci/hda/alc_quirks.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/hda/alc_quirks.c b/sound/pci/hda/alc_quirks.c index 2be1129cf458..a18952ed4311 100644 --- a/sound/pci/hda/alc_quirks.c +++ b/sound/pci/hda/alc_quirks.c | |||
@@ -453,6 +453,19 @@ static void setup_preset(struct hda_codec *codec, | |||
453 | alc_fixup_autocfg_pin_nums(codec); | 453 | alc_fixup_autocfg_pin_nums(codec); |
454 | } | 454 | } |
455 | 455 | ||
456 | static void alc_simple_setup_automute(struct alc_spec *spec, int mode) | ||
457 | { | ||
458 | int lo_pin = spec->autocfg.line_out_pins[0]; | ||
459 | |||
460 | if (lo_pin == spec->autocfg.speaker_pins[0] || | ||
461 | lo_pin == spec->autocfg.hp_pins[0]) | ||
462 | lo_pin = 0; | ||
463 | spec->automute_mode = mode; | ||
464 | spec->detect_hp = !!spec->autocfg.hp_pins[0]; | ||
465 | spec->detect_lo = !!lo_pin; | ||
466 | spec->automute_lo = spec->automute_lo_possible = !!lo_pin; | ||
467 | spec->automute_speaker = spec->automute_speaker_possible = !!spec->autocfg.speaker_pins[0]; | ||
468 | } | ||
456 | 469 | ||
457 | /* auto-toggle front mic */ | 470 | /* auto-toggle front mic */ |
458 | static void alc88x_simple_mic_automute(struct hda_codec *codec) | 471 | static void alc88x_simple_mic_automute(struct hda_codec *codec) |