[alsa-devel] [PATCH] alsa: Intel HDA output and align Ids.
Output Intel HDA Function Id in /proc/asound/cardX/codec#X Align Vendor/Subsystem/Revision Ids to 8 characters, front-padded with zeros
As submitted to Kernel Bugzilla #12888
Signed-off-by: Pascal de Bruijn pascal@unilogicnetworks.net
diff -Nurp linux-2.6.28.8-orig/sound/pci/hda/hda_codec.c linux-2.6.28.8-func/sound/pci/hda/hda_codec.c --- linux-2.6.28.8-orig/sound/pci/hda/hda_codec.c 2009-03-17 01:50:03.000000000 +0100 +++ linux-2.6.28.8-func/sound/pci/hda/hda_codec.c 2009-03-17 10:39:45.000000000 +0100 @@ -519,9 +519,8 @@ static void __devinit setup_fg_nodes(str
total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); for (i = 0; i < total_nodes; i++, nid++) { - unsigned int func; - func = snd_hda_param_read(codec, nid, AC_PAR_FUNCTION_TYPE); - switch (func & 0xff) { + codec->function_id = snd_hda_param_read(codec, nid, AC_PAR_FUNCTION_TYPE) & 0xff; + switch (codec->function_id) { case AC_GRP_AUDIO_FUNCTION: codec->afg = nid; break; diff -Nurp linux-2.6.28.8-orig/sound/pci/hda/hda_codec.h linux-2.6.28.8-func/sound/pci/hda/hda_codec.h --- linux-2.6.28.8-orig/sound/pci/hda/hda_codec.h 2009-03-17 01:50:03.000000000 +0100 +++ linux-2.6.28.8-func/sound/pci/hda/hda_codec.h 2009-03-17 10:39:45.000000000 +0100 @@ -693,6 +693,7 @@ struct hda_codec { hda_nid_t mfg; /* MFG node id */
/* ids */ + u32 function_id; u32 vendor_id; u32 subsystem_id; u32 revision_id; diff -Nurp linux-2.6.28.8-orig/sound/pci/hda/hda_proc.c linux-2.6.28.8-func/sound/pci/hda/hda_proc.c --- linux-2.6.28.8-orig/sound/pci/hda/hda_proc.c 2009-03-17 01:50:03.000000000 +0100 +++ linux-2.6.28.8-func/sound/pci/hda/hda_proc.c 2009-03-17 10:40:08.000000000 +0100 @@ -520,9 +520,10 @@ static void print_codec_info(struct snd_ snd_hda_get_codec_name(codec, buf, sizeof(buf)); snd_iprintf(buffer, "Codec: %s\n", buf); snd_iprintf(buffer, "Address: %d\n", codec->addr); - snd_iprintf(buffer, "Vendor Id: 0x%x\n", codec->vendor_id); - snd_iprintf(buffer, "Subsystem Id: 0x%x\n", codec->subsystem_id); - snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id); + snd_iprintf(buffer, "Function Id: 0x%x\n", codec->function_id); + snd_iprintf(buffer, "Vendor Id: 0x%08x\n", codec->vendor_id); + snd_iprintf(buffer, "Subsystem Id: 0x%08x\n", codec->subsystem_id); + snd_iprintf(buffer, "Revision Id: 0x%08x\n", codec->revision_id);
if (codec->mfg) snd_iprintf(buffer, "Modem Function Group: 0x%x\n", codec->mfg);
At Fri, 20 Mar 2009 14:00:56 +0100, Pascal de Bruijn | Unilogic Networks B.V. wrote:
Output Intel HDA Function Id in /proc/asound/cardX/codec#X Align Vendor/Subsystem/Revision Ids to 8 characters, front-padded with zeros
As submitted to Kernel Bugzilla #12888
Signed-off-by: Pascal de Bruijn pascal@unilogicnetworks.net
Thanks for the patch. The changes look OK, but could you make a patch against the latest 2.6.29-rc tree, and fix a coding issue reported by checkpatch.pl?
Also, a bit more explanatory subject would be helpful...
Takashi
diff -Nurp linux-2.6.28.8-orig/sound/pci/hda/hda_codec.c linux-2.6.28.8-func/sound/pci/hda/hda_codec.c --- linux-2.6.28.8-orig/sound/pci/hda/hda_codec.c 2009-03-17 01:50:03.000000000 +0100 +++ linux-2.6.28.8-func/sound/pci/hda/hda_codec.c 2009-03-17 10:39:45.000000000 +0100 @@ -519,9 +519,8 @@ static void __devinit setup_fg_nodes(str
total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); for (i = 0; i < total_nodes; i++, nid++) {
unsigned int func;
func = snd_hda_param_read(codec, nid, AC_PAR_FUNCTION_TYPE);
switch (func & 0xff) {
codec->function_id = snd_hda_param_read(codec, nid, AC_PAR_FUNCTION_TYPE) & 0xff;
case AC_GRP_AUDIO_FUNCTION: codec->afg = nid; break;switch (codec->function_id) {
diff -Nurp linux-2.6.28.8-orig/sound/pci/hda/hda_codec.h linux-2.6.28.8-func/sound/pci/hda/hda_codec.h --- linux-2.6.28.8-orig/sound/pci/hda/hda_codec.h 2009-03-17 01:50:03.000000000 +0100 +++ linux-2.6.28.8-func/sound/pci/hda/hda_codec.h 2009-03-17 10:39:45.000000000 +0100 @@ -693,6 +693,7 @@ struct hda_codec { hda_nid_t mfg; /* MFG node id */
/* ids */
- u32 function_id; u32 vendor_id; u32 subsystem_id; u32 revision_id;
diff -Nurp linux-2.6.28.8-orig/sound/pci/hda/hda_proc.c linux-2.6.28.8-func/sound/pci/hda/hda_proc.c --- linux-2.6.28.8-orig/sound/pci/hda/hda_proc.c 2009-03-17 01:50:03.000000000 +0100 +++ linux-2.6.28.8-func/sound/pci/hda/hda_proc.c 2009-03-17 10:40:08.000000000 +0100 @@ -520,9 +520,10 @@ static void print_codec_info(struct snd_ snd_hda_get_codec_name(codec, buf, sizeof(buf)); snd_iprintf(buffer, "Codec: %s\n", buf); snd_iprintf(buffer, "Address: %d\n", codec->addr);
- snd_iprintf(buffer, "Vendor Id: 0x%x\n", codec->vendor_id);
- snd_iprintf(buffer, "Subsystem Id: 0x%x\n", codec->subsystem_id);
- snd_iprintf(buffer, "Revision Id: 0x%x\n", codec->revision_id);
snd_iprintf(buffer, "Function Id: 0x%x\n", codec->function_id);
snd_iprintf(buffer, "Vendor Id: 0x%08x\n", codec->vendor_id);
snd_iprintf(buffer, "Subsystem Id: 0x%08x\n", codec->subsystem_id);
snd_iprintf(buffer, "Revision Id: 0x%08x\n", codec->revision_id);
if (codec->mfg) snd_iprintf(buffer, "Modem Function Group: 0x%x\n", codec->mfg);
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
participants (2)
-
Pascal de Bruijn | Unilogic Networks B.V.
-
Takashi Iwai