alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 7/16] ALSA: VIA HDA: Modify notify_aa_path_ctls() function
@ 2011-03-21  7:29 Lydia Wang
  2011-03-21  7:32 ` Jaroslav Kysela
  0 siblings, 1 reply; 4+ messages in thread
From: Lydia Wang @ 2011-03-21  7:29 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, HaraldWelte, lydiawang

From: Lydia Wang <lydiawang@viatech.com.cn>
Subject: ALSA: VIA HDA: Modify notify_aa_path_ctls() function.

Modify notify_aa_path_ctls() function to get volume control items name 
dynamically instead of by giving static item name.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
---
 sound/pci/hda/patch_via.c |   27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -832,16 +832,23 @@
 
 static void notify_aa_path_ctls(struct hda_codec *codec)
 {
-	int i;
-	struct snd_ctl_elem_id id;
-	const char *labels[] = {"Mic", "Front Mic", "Line"};
-
-	memset(&id, 0, sizeof(id));
-	id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
-	for (i = 0; i < ARRAY_SIZE(labels); i++) {
-		sprintf(id.name, "%s Playback Volume", labels[i]);
-		snd_ctl_notify(codec->bus->card, SNDRV_CTL_EVENT_MASK_VALUE,
-			       &id);
+	struct snd_card *card = codec->bus->card;
+	struct snd_kcontrol *kctl;
+	struct via_spec *spec = codec->spec;
+	const struct auto_pin_cfg *cfg = &spec->autocfg;
+	list_for_each_entry(kctl, &card->controls, list) {
+		int i;
+		for (i = 0; i < cfg->num_inputs; i++) {
+			char name[32];
+			const char *label;
+			label = hda_get_autocfg_input_label(codec, cfg, i);
+			sprintf(name, "%s Playback Volume", label);
+			if (strcmp(kctl->id.name, name) == 0) {
+				snd_ctl_notify(card, SNDRV_CTL_EVENT_MASK_VALUE,
+					       &kctl->id);
+				break;
+			}
+		}
 	}
 }

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-24  7:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-21  7:29 [PATCH 7/16] ALSA: VIA HDA: Modify notify_aa_path_ctls() function Lydia Wang
2011-03-21  7:32 ` Jaroslav Kysela
2011-03-21 11:08   ` Takashi Iwai
     [not found]     ` <5B2BE0DB92BC8F4694F815C2F34E0D5F660B76@exchbj03.viatech.com.bj>
2011-03-24  7:55       ` 答复: " Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).