summaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorUlrich Dangel <uli@spamt.net>2009-01-02 19:30:14 +0100
committerTakashi Iwai <tiwai@suse.de>2009-01-03 11:26:05 +0100
commitacf26c0cad5ba00dcafa633805e4660e90c1eac0 (patch)
tree644e9901f062026c87d9542c69e1515ec4d4c5be /sound/pci
parentALSA: hda - add basic jack reporting functions to patch_conexant.c (diff)
downloadlinux-acf26c0cad5ba00dcafa633805e4660e90c1eac0.tar.xz
linux-acf26c0cad5ba00dcafa633805e4660e90c1eac0.zip
ALSA: hda - cxt5051 report jack state
Signed-off-by: Ulrich Dangel <uli@spamt.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_conexant.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index e0eebfbec351..75de40aaab0a 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -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);