ALSA: hda - Keep char arrays in input_mux items
Keep char array in the input_mux item itself instead of pointing to
an external string. This is a preliminary work for improving the
input-mux name based on the pin role.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 0c25d22..0a7d9d5 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4974,8 +4974,8 @@
if (idx < 0 && cap2)
idx = get_connection_index(codec, cap2, pin);
if (idx >= 0) {
- imux->items[imux->num_items].label =
- snd_hda_get_input_pin_label(cfg, i);
+ snd_hda_get_input_pin_label(cfg, i,
+ imux->items[imux->num_items].label);
imux->items[imux->num_items].index = idx;
imux->num_items++;
}
@@ -10626,9 +10626,9 @@
break;
nid = cfg->inputs[i].pin;
if (get_wcaps(codec, nid) & AC_WCAP_IN_AMP) {
- char label[32];
- snprintf(label, sizeof(label), "%s Boost",
- snd_hda_get_input_pin_label(cfg, i));
+ char pinname[32], label[32];
+ snd_hda_get_input_pin_label(cfg, i, pinname);
+ snprintf(label, sizeof(label), "%s Boost", pinname);
err = add_control(spec, ALC_CTL_WIDGET_VOL, label, 0,
HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_INPUT));
if (err < 0)