diff options
Diffstat (limited to 'sound/pci/hda/patch_cmedia.c')
| -rw-r--r-- | sound/pci/hda/patch_cmedia.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_cmedia.c b/sound/pci/hda/patch_cmedia.c index a45c1169762b..cc1c22370a60 100644 --- a/sound/pci/hda/patch_cmedia.c +++ b/sound/pci/hda/patch_cmedia.c | |||
| @@ -315,7 +315,8 @@ static struct hda_verb cmi9880_allout_init[] = { | |||
| 315 | static int cmi9880_build_controls(struct hda_codec *codec) | 315 | static int cmi9880_build_controls(struct hda_codec *codec) |
| 316 | { | 316 | { |
| 317 | struct cmi_spec *spec = codec->spec; | 317 | struct cmi_spec *spec = codec->spec; |
| 318 | int err; | 318 | struct snd_kcontrol *kctl; |
| 319 | int i, err; | ||
| 319 | 320 | ||
| 320 | err = snd_hda_add_new_ctls(codec, cmi9880_basic_mixer); | 321 | err = snd_hda_add_new_ctls(codec, cmi9880_basic_mixer); |
| 321 | if (err < 0) | 322 | if (err < 0) |
| @@ -340,6 +341,15 @@ static int cmi9880_build_controls(struct hda_codec *codec) | |||
| 340 | if (err < 0) | 341 | if (err < 0) |
| 341 | return err; | 342 | return err; |
| 342 | } | 343 | } |
| 344 | |||
| 345 | /* assign Capture Source enums to NID */ | ||
| 346 | kctl = snd_hda_find_mixer_ctl(codec, "Capture Source"); | ||
| 347 | for (i = 0; kctl && i < kctl->count; i++) { | ||
| 348 | err = snd_hda_add_nids(codec, kctl, i, spec->adc_nids, | ||
| 349 | spec->input_mux->num_items); | ||
| 350 | if (err < 0) | ||
| 351 | return err; | ||
| 352 | } | ||
| 343 | return 0; | 353 | return 0; |
| 344 | } | 354 | } |
| 345 | 355 | ||
