ALSA: hda - More line-out auto-mute support for Realtek
authorTakashi Iwai <tiwai@suse.de>
Thu, 28 Apr 2011 15:57:46 +0000 (17:57 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 28 Apr 2011 15:57:46 +0000 (17:57 +0200)
Not only supporting the line-out automute as additional feature
to the existing headphone automute, now the headphone jack can
mute the line-out alone even without the speaker outs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index 9e2594d6db965038ef77b94bb55c2f2bb6726929..3e41d563776426b5c6ed9aa9c54ac984d2bedaf4 100644 (file)
@@ -1517,16 +1517,19 @@ static void alc_init_auto_hp(struct hda_codec *codec)
 {
        struct alc_spec *spec = codec->spec;
        struct auto_pin_cfg *cfg = &spec->autocfg;
+       int present = 0;
        int i;
 
-       if (!cfg->hp_pins[0]) {
-               if (cfg->line_out_type != AUTO_PIN_HP_OUT)
-                       return;
-       }
+       if (cfg->hp_pins[0])
+               present++;
+       if (cfg->line_out_pins[0])
+               present++;
+       if (cfg->speaker_pins[0])
+               present++;
+       if (present < 2) /* need two different output types */
+               return;
 
        if (!cfg->speaker_pins[0]) {
-               if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT)
-                       return;
                memcpy(cfg->speaker_pins, cfg->line_out_pins,
                       sizeof(cfg->speaker_pins));
                cfg->speaker_outs = cfg->line_outs;