ALSA: au88x0 - Remove unused "Master Mono" Playback Volume and Playback Switch of...
authorRaymond Yau <superquad.vortex2@gmail.com>
Mon, 4 Jun 2012 06:59:55 +0000 (14:59 +0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 5 Jun 2012 16:02:27 +0000 (18:02 +0200)
Remove "Master Mono Playback Volume" and "Master Mono Playback Switch"
of ac97 mixer since au88x0 does no use "Master Mono Pin" of AC97 codec
even au88x0 support mono playback

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/au88x0/au88x0_mixer.c

index 557c782..fa13efb 100644 (file)
 #include <sound/core.h>
 #include "au88x0.h"
 
+static int remove_ctl(struct snd_card *card, const char *name)
+{
+       struct snd_ctl_elem_id id;
+       memset(&id, 0, sizeof(id));
+       strcpy(id.name, name);
+       id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
+       return snd_ctl_remove_id(card, &id);
+}
+
 static int __devinit snd_vortex_mixer(vortex_t * vortex)
 {
        struct snd_ac97_bus *pbus;
@@ -28,5 +37,7 @@ static int __devinit snd_vortex_mixer(vortex_t * vortex)
        ac97.scaps = AC97_SCAP_NO_SPDIF;
        err = snd_ac97_mixer(pbus, &ac97, &vortex->codec);
        vortex->isquad = ((vortex->codec == NULL) ?  0 : (vortex->codec->ext_id&0x80));
+       remove_ctl(vortex->card, "Master Mono Playback Volume");
+       remove_ctl(vortex->card, "Master Mono Playback Switch");
        return err;
 }