ALSA: hda - cxt5051 report jack state
authorUlrich Dangel <uli@spamt.net>
Fri, 2 Jan 2009 18:30:14 +0000 (19:30 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sat, 3 Jan 2009 10:26:05 +0000 (11:26 +0100)
Signed-off-by: Ulrich Dangel <uli@spamt.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_conexant.c

index e0eebfbec351168583cacefdaa67edd70beb458f..75de40aaab0af5d5c558788468132bad574523f4 100644 (file)
@@ -1713,6 +1713,7 @@ static void cxt5051_hp_automute(struct hda_codec *codec)
 static void cxt5051_hp_unsol_event(struct hda_codec *codec,
                                   unsigned int res)
 {
+       int nid = (res & AC_UNSOL_RES_SUBTAG) >> 20;
        switch (res >> 26) {
        case CONEXANT_HP_EVENT:
                cxt5051_hp_automute(codec);
@@ -1724,6 +1725,7 @@ static void cxt5051_hp_unsol_event(struct hda_codec *codec,
                cxt5051_portc_automic(codec);
                break;
        }
+       conexant_report_jack(codec, nid);
 }
 
 static struct snd_kcontrol_new cxt5051_mixers[] = {
@@ -1798,6 +1800,7 @@ static struct hda_verb cxt5051_init_verbs[] = {
 static int cxt5051_init(struct hda_codec *codec)
 {
        conexant_init(codec);
+       conexant_init_jacks(codec);
        if (codec->patch_ops.unsol_event) {
                cxt5051_hp_automute(codec);
                cxt5051_portb_automic(codec);