ALSA: hda - Add suppress_auto_mute flag to hda_gen_spec
authorTakashi Iwai <tiwai@suse.de>
Wed, 16 Jan 2013 17:20:07 +0000 (18:20 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 16 Jan 2013 17:22:37 +0000 (18:22 +0100)
A new flag to skip the auto-mute handling in the generic parser, just
like suppress_auto_mic flag.  It has to be set before calling
snd_hda_gen_parse_auto_config().

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

index 186a554..1ea9c2d 100644 (file)
@@ -119,6 +119,9 @@ static void parse_user_hints(struct hda_codec *codec)
        if (val >= 0)
                codec->single_adc_amp = !!val;
 
+       val = snd_hda_get_bool_hint(codec, "auto_mute");
+       if (val >= 0)
+               spec->suppress_auto_mute = !val;
        val = snd_hda_get_bool_hint(codec, "auto_mic");
        if (val >= 0)
                spec->suppress_auto_mic = !val;
@@ -3253,6 +3256,9 @@ static int check_auto_mute_availability(struct hda_codec *codec)
        int present = 0;
        int i, err;
 
+       if (spec->suppress_auto_mute)
+               return 0;
+
        if (cfg->hp_pins[0])
                present++;
        if (cfg->line_out_pins[0])
index d4abf87..59d08c6 100644 (file)
@@ -177,6 +177,7 @@ struct hda_gen_spec {
        unsigned int automute_speaker_possible:1; /* there are speakers and either LO or HP */
        unsigned int automute_lo_possible:1;      /* there are line outs and HP */
        unsigned int keep_vref_in_automute:1; /* Don't clear VREF in automute */
+       unsigned int suppress_auto_mute:1; /* suppress input jack auto mute */
        unsigned int suppress_auto_mic:1; /* suppress input jack auto switch */
        unsigned int line_in_auto_switch:1; /* allow line-in auto switch */