aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/hda/alc_quirks.c
diff options
context:
space:
mode:
authorMark Brown2011-11-08 10:47:46 +0000
committerMark Brown2011-11-08 10:47:46 +0000
commit41966710ab574f1fcedf3e10e1ceef911c096d1d (patch)
treea370f9fb2392267d1e7b06d7c9f43c6d80eb12be /sound/pci/hda/alc_quirks.c
parent4633fa48fb41dc6d6f0cd83d7f6b7e262820e7cb (diff)
parent1dd6c0770d7d4ca477a1a8452ab0161b1150e4ad (diff)
Merge branch 'for-3.2' into for-3.3
Diffstat (limited to 'sound/pci/hda/alc_quirks.c')
-rw-r--r--sound/pci/hda/alc_quirks.c13
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,
alc_fixup_autocfg_pin_nums(codec);
}
+static void alc_simple_setup_automute(struct alc_spec *spec, int mode)
+{
+ int lo_pin = spec->autocfg.line_out_pins[0];
+
+ if (lo_pin == spec->autocfg.speaker_pins[0] ||
+ lo_pin == spec->autocfg.hp_pins[0])
+ lo_pin = 0;
+ spec->automute_mode = mode;
+ spec->detect_hp = !!spec->autocfg.hp_pins[0];
+ spec->detect_lo = !!lo_pin;
+ spec->automute_lo = spec->automute_lo_possible = !!lo_pin;
+ spec->automute_speaker = spec->automute_speaker_possible = !!spec->autocfg.speaker_pins[0];
+}
/* auto-toggle front mic */
static void alc88x_simple_mic_automute(struct hda_codec *codec)