[ALSA] Show currectly selected widget in proc_read for hda driver
authorChenLi Tien <cltien@cmedia.com.tw>
Thu, 24 Mar 2005 11:02:54 +0000 (12:02 +0100)
committerJaroslav Kysela <perex@suse.cz>
Sun, 29 May 2005 07:00:14 +0000 (09:00 +0200)
HDA generic driver
During debugging for cm9880 multi-channel playback, I added the * after
the currently selected widget, mixer widget doesn't need this but other
3 widget types need it.

Signed-off-by: ChenLi Tien <cltien@cmedia.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_proc.c

index 4d5db7faad8d9db4ed437d16e655a2e1d869661e..8c703ff056f40acac51ca55558493c2cc6b74b8e 100644 (file)
@@ -266,13 +266,19 @@ static void print_codec_info(snd_info_entry_t *entry, snd_info_buffer_t *buffer)
 
                if (wid_caps & AC_WCAP_CONN_LIST) {
                        hda_nid_t conn[HDA_MAX_CONNECTIONS];
-                       int c, conn_len;
+                       int c, conn_len, curr = -1;
                        conn_len = snd_hda_get_connections(codec, nid, conn,
                                                           HDA_MAX_CONNECTIONS);
+                       if (conn_len > 1 && wid_type != AC_WID_AUD_MIX)
+                               curr = snd_hda_codec_read(codec, nid, 0,
+                                       AC_VERB_GET_CONNECT_SEL, 0);
                        snd_iprintf(buffer, "  Connection: %d\n", conn_len);
                        snd_iprintf(buffer, "    ");
-                       for (c = 0; c < conn_len; c++)
+                       for (c = 0; c < conn_len; c++) {
                                snd_iprintf(buffer, " 0x%02x", conn[c]);
+                               if (c == curr)
+                                       snd_iprintf(buffer, "*");
+                       }
                        snd_iprintf(buffer, "\n");
                }
        }