From 8428975a456f3201329289fbc5f243d9928d8e63 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 25 Aug 2009 16:12:15 +0200 Subject: [PATCH] --- yaml --- r: 157863 b: refs/heads/master c: a4fcd491098603356e7600b021bdb6acbb53adb4 h: refs/heads/master i: 157861: ae856feee6a3ab3b407f7e05d84db23b109665ed 157859: 9e67949c24b739593e05877045e6a8d28c8426b1 157855: 0d32e11fdd96249908b946d4dd806965d61f1f9d v: v3 --- [refs] | 2 +- trunk/sound/pci/hda/patch_realtek.c | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fd298b4215b5..542c05bb3e1f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c3fc1f502a1f1a751c891d3b757a24dc76943539 +refs/heads/master: a4fcd491098603356e7600b021bdb6acbb53adb4 diff --git a/trunk/sound/pci/hda/patch_realtek.c b/trunk/sound/pci/hda/patch_realtek.c index 407475941fd3..206fcb930a65 100644 --- a/trunk/sound/pci/hda/patch_realtek.c +++ b/trunk/sound/pci/hda/patch_realtek.c @@ -15233,13 +15233,25 @@ static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, if (err < 0) return err; } else { - sprintf(name, "%s Playback Volume", chname[i]); + const char *pfx; + if (cfg->line_outs == 1 && + cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) { + if (!cfg->hp_pins) + pfx = "Speaker"; + else + pfx = "PCM"; + } else + pfx = chname[i]; + sprintf(name, "%s Playback Volume", pfx); err = add_control(spec, ALC_CTL_WIDGET_VOL, name, HDA_COMPOSE_AMP_VAL(nid_v, 3, 0, HDA_OUTPUT)); if (err < 0) return err; - sprintf(name, "%s Playback Switch", chname[i]); + if (cfg->line_outs == 1 && + cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) + pfx = "Speaker"; + sprintf(name, "%s Playback Switch", pfx); err = add_control(spec, ALC_CTL_BIND_MUTE, name, HDA_COMPOSE_AMP_VAL(nid_s, 3, 2, HDA_INPUT));