diff options
-rw-r--r-- | sound/pci/hda/hda_codec.c | 6 | ||||
-rw-r--r-- | sound/pci/hda/hda_codec.h | 1 | ||||
-rw-r--r-- | sound/pci/hda/hda_proc.c | 5 |
3 files changed, 7 insertions, 5 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index b90a2400f53d..1b5575ecb0a4 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -647,9 +647,9 @@ static void /*__devinit*/ setup_fg_nodes(struct hda_codec *codec) | |||
647 | 647 | ||
648 | total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); | 648 | total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); |
649 | for (i = 0; i < total_nodes; i++, nid++) { | 649 | for (i = 0; i < total_nodes; i++, nid++) { |
650 | unsigned int func; | 650 | codec->function_id = snd_hda_param_read(codec, nid, |
651 | func = snd_hda_param_read(codec, nid, AC_PAR_FUNCTION_TYPE); | 651 | AC_PAR_FUNCTION_TYPE) & 0xff; |
652 | switch (func & 0xff) { | 652 | switch (codec->function_id) { |
653 | case AC_GRP_AUDIO_FUNCTION: | 653 | case AC_GRP_AUDIO_FUNCTION: |
654 | codec->afg = nid; | 654 | codec->afg = nid; |
655 | break; | 655 | break; |
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 079e1ab718d4..2fdecf4b0eb6 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -739,6 +739,7 @@ struct hda_codec { | |||
739 | hda_nid_t mfg; /* MFG node id */ | 739 | hda_nid_t mfg; /* MFG node id */ |
740 | 740 | ||
741 | /* ids */ | 741 | /* ids */ |
742 | u32 function_id; | ||
742 | u32 vendor_id; | 743 | u32 vendor_id; |
743 | u32 subsystem_id; | 744 | u32 subsystem_id; |
744 | u32 revision_id; | 745 | u32 revision_id; |
diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c index 639cf0edaa98..93d7499350c6 100644 --- a/sound/pci/hda/hda_proc.c +++ b/sound/pci/hda/hda_proc.c | |||
@@ -469,8 +469,9 @@ static void print_codec_info(struct snd_info_entry *entry, | |||
469 | snd_iprintf(buffer, "Codec: %s\n", | 469 | snd_iprintf(buffer, "Codec: %s\n", |
470 | codec->name ? codec->name : "Not Set"); | 470 | codec->name ? codec->name : "Not Set"); |
471 | snd_iprintf(buffer, "Address: %d\n", codec->addr); | 471 | snd_iprintf(buffer, "Address: %d\n", codec->addr); |
472 | snd_iprintf(buffer, "Vendor Id: 0x%x\n", codec->vendor_id); | 472 | snd_iprintf(buffer, "Function Id: 0x%x\n", codec->function_id); |
473 | snd_iprintf(buffer, "Subsystem Id: 0x%x\n", codec->subsystem_id); | 473 | snd_iprintf(buffer, "Vendor Id: 0x%08x\n", codec->vendor_id); |
474 | snd_iprintf(buffer, "Subsystem Id: 0x%08x\n", codec->subsystem_id); | ||
474 | snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id); | 475 | snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id); |
475 | 476 | ||
476 | if (codec->mfg) | 477 | if (codec->mfg) |