summaryrefslogtreecommitdiff
path: root/sound/pci/hda/patch_via.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-09-09 14:21:17 +0200
committerTakashi Iwai <tiwai@suse.de>2010-09-09 16:45:58 +0200
commitb5786e85cb2ffd0b07e86dec38a442bd20765ad8 (patch)
treeb274f05600ab04ad189f48e342d02ebebc412140 /sound/pci/hda/patch_via.c
parent6cb3b707f95954ac18f19b4b3919af235738371a (diff)
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>
Diffstat (limited to 'sound/pci/hda/patch_via.c')
-rw-r--r--sound/pci/hda/patch_via.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index 93b86adbce63..9c1909d398e3 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -2376,7 +2376,7 @@ static void create_hp_imux(struct via_spec *spec)
/* for hp mode select */
i = 0;
while (texts[i] != NULL) {
- imux->items[imux->num_items].label = texts[i];
+ strcpy(imux->items[imux->num_items].label, texts[i]);
imux->items[imux->num_items].index = i;
imux->num_items++;
i++;
@@ -2423,7 +2423,8 @@ static int vt_auto_create_analog_input_ctls(struct via_spec *spec,
/* for internal loopback recording select */
for (idx = 0; idx < num_idxs; idx++) {
if (pin_idxs[idx] == 0xff) {
- imux->items[imux->num_items].label = "Stereo Mixer";
+ strcpy(imux->items[imux->num_items].label,
+ "Stereo Mixer");
imux->items[imux->num_items].index = idx;
imux->num_items++;
break;
@@ -2445,8 +2446,8 @@ static int vt_auto_create_analog_input_ctls(struct via_spec *spec,
type_idx, idx, cap_nid);
if (err < 0)
return err;
- 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++;
}
@@ -4336,7 +4337,7 @@ static int vt1702_auto_create_hp_ctls(struct via_spec *spec, hda_nid_t pin)
/* for hp mode select */
i = 0;
while (texts[i] != NULL) {
- imux->items[imux->num_items].label = texts[i];
+ strcpy(imux->items[imux->num_items].label, texts[i]);
imux->items[imux->num_items].index = i;
imux->num_items++;
i++;
@@ -5520,7 +5521,7 @@ static int vt2002P_auto_create_analog_input_ctls(struct via_spec *spec,
return err;
/* for digital mic select */
- imux->items[imux->num_items].label = "Digital Mic";
+ strcpy(imux->items[imux->num_items].label, "Digital Mic");
imux->items[imux->num_items].index = 4;
imux->num_items++;
@@ -5843,7 +5844,7 @@ static int vt1812_auto_create_analog_input_ctls(struct via_spec *spec,
return err;
/* for digital mic select */
- imux->items[imux->num_items].label = "Digital Mic";
+ strcpy(imux->items[imux->num_items].label, "Digital Mic");
imux->items[imux->num_items].index = 6;
imux->num_items++;