Merge tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[sfrench/cifs-2.6.git] / sound / pci / hda / patch_via.c
index 778166259b3e8e72fe039d08fe5e1671d5c6fd94..6c206b6c8d65d389119e5f7c630f45e52767bd61 100644 (file)
@@ -118,7 +118,6 @@ static void via_playback_pcm_hook(struct hda_pcm_stream *hinfo,
                                  struct hda_codec *codec,
                                  struct snd_pcm_substream *substream,
                                  int action);
-static void via_hp_automute(struct hda_codec *codec, struct hda_jack_tbl *tbl);
 
 static struct via_spec *via_new_spec(struct hda_codec *codec)
 {
@@ -575,25 +574,12 @@ static const struct snd_kcontrol_new vt1708_jack_detect_ctl[] = {
        {} /* terminator */
 };
 
-static void via_hp_automute(struct hda_codec *codec, struct hda_jack_tbl *tbl)
+static void via_jack_powerstate_event(struct hda_codec *codec,
+                                     struct hda_jack_callback *tbl)
 {
        set_widgets_power_state(codec);
-       snd_hda_gen_hp_automute(codec, tbl);
 }
 
-static void via_line_automute(struct hda_codec *codec, struct hda_jack_tbl *tbl)
-{
-       set_widgets_power_state(codec);
-       snd_hda_gen_line_automute(codec, tbl);
-}
-
-static void via_jack_powerstate_event(struct hda_codec *codec, struct hda_jack_tbl *tbl)
-{
-       set_widgets_power_state(codec);
-}
-
-#define VIA_JACK_EVENT (HDA_GEN_LAST_EVENT + 1)
-
 static void via_set_jack_unsol_events(struct hda_codec *codec)
 {
        struct via_spec *spec = codec->spec;
@@ -601,25 +587,17 @@ static void via_set_jack_unsol_events(struct hda_codec *codec)
        hda_nid_t pin;
        int i;
 
-       spec->gen.hp_automute_hook = via_hp_automute;
-       if (cfg->speaker_pins[0])
-               spec->gen.line_automute_hook = via_line_automute;
-
        for (i = 0; i < cfg->line_outs; i++) {
                pin = cfg->line_out_pins[i];
-               if (pin && !snd_hda_jack_tbl_get(codec, pin) &&
-                   is_jack_detectable(codec, pin))
+               if (pin && is_jack_detectable(codec, pin))
                        snd_hda_jack_detect_enable_callback(codec, pin,
-                                                           VIA_JACK_EVENT,
                                                            via_jack_powerstate_event);
        }
 
        for (i = 0; i < cfg->num_inputs; i++) {
                pin = cfg->line_out_pins[i];
-               if (pin && !snd_hda_jack_tbl_get(codec, pin) &&
-                   is_jack_detectable(codec, pin))
+               if (pin && is_jack_detectable(codec, pin))
                        snd_hda_jack_detect_enable_callback(codec, pin,
-                                                           VIA_JACK_EVENT,
                                                            via_jack_powerstate_event);
        }
 }