aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-08-25 10:05:03 -0400
committerTakashi Iwai <tiwai@suse.de>2009-08-25 10:05:03 -0400
commitcb162b6bf2f445d67a45f5485d4ce32addaf8fe0 (patch)
tree477f5bb9c11846fd7c16beeaf65784d688781203 /sound/pci
parent05f5f477082f0b192dab5ac25ccc5d468d98ecbd (diff)
ALSA: hda - Improve auto-cfg mixer name for ALC880
When there is only one DAC is used for ALC880, try to assign a better name, either Speaker or Front, depending on the output pin type. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_realtek.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 3c8773a7ac9..07fbf7db69e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4398,13 +4398,19 @@ static int alc880_auto_create_multi_out_ctls(struct alc_spec *spec,
4398 if (err < 0) 4398 if (err < 0)
4399 return err; 4399 return err;
4400 } else { 4400 } else {
4401 sprintf(name, "%s Playback Volume", chname[i]); 4401 const char *pfx;
4402 if (cfg->line_outs == 1 &&
4403 cfg->line_out_type == AUTO_PIN_SPEAKER_OUT)
4404 pfx = "Speaker";
4405 else
4406 pfx = chname[i];
4407 sprintf(name, "%s Playback Volume", pfx);
4402 err = add_control(spec, ALC_CTL_WIDGET_VOL, name, 4408 err = add_control(spec, ALC_CTL_WIDGET_VOL, name,
4403 HDA_COMPOSE_AMP_VAL(nid, 3, 0, 4409 HDA_COMPOSE_AMP_VAL(nid, 3, 0,
4404 HDA_OUTPUT)); 4410 HDA_OUTPUT));
4405 if (err < 0) 4411 if (err < 0)
4406 return err; 4412 return err;
4407 sprintf(name, "%s Playback Switch", chname[i]); 4413 sprintf(name, "%s Playback Switch", pfx);
4408 err = add_control(spec, ALC_CTL_BIND_MUTE, name, 4414 err = add_control(spec, ALC_CTL_BIND_MUTE, name,
4409 HDA_COMPOSE_AMP_VAL(nid, 3, 2, 4415 HDA_COMPOSE_AMP_VAL(nid, 3, 2,
4410 HDA_INPUT)); 4416 HDA_INPUT));