* [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* Re: [PATCH 7/16] ALSA: VIA HDA: Modify notify_aa_path_ctls() function
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
0 siblings, 1 reply; 4+ messages in thread
From: Jaroslav Kysela @ 2011-03-21 7:32 UTC (permalink / raw)
To: Lydia Wang; +Cc: tiwai, alsa-devel, HaraldWelte
On Mon, 21 Mar 2011, Lydia Wang wrote:
> 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.
This code looks ugly to me. If you like to have a dynamic set of notified
controls, create one using snd_array in via_spec.
Jaroslav
-----
Jaroslav Kysela <perex@perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 7/16] ALSA: VIA HDA: Modify notify_aa_path_ctls() function
2011-03-21 7:32 ` Jaroslav Kysela
@ 2011-03-21 11:08 ` Takashi Iwai
[not found] ` <5B2BE0DB92BC8F4694F815C2F34E0D5F660B76@exchbj03.viatech.com.bj>
0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2011-03-21 11:08 UTC (permalink / raw)
To: Jaroslav Kysela; +Cc: alsa-devel, HaraldWelte, Lydia Wang
At Mon, 21 Mar 2011 08:32:43 +0100 (CET),
Jaroslav Kysela wrote:
>
> On Mon, 21 Mar 2011, Lydia Wang wrote:
>
> > 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.
>
> This code looks ugly to me. If you like to have a dynamic set of notified
> controls, create one using snd_array in via_spec.
Agreed. The current code is too fragile.
thanks,
Takashi
^ 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).