diff options
Diffstat (limited to 'sound/pci/hda/patch_cmedia.c')
| -rw-r--r-- | sound/pci/hda/patch_cmedia.c | 11 | 
1 files changed, 10 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_cmedia.c b/sound/pci/hda/patch_cmedia.c index a45c1169762..ff60908f455 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[] = {  static int cmi9880_build_controls(struct hda_codec *codec)  {  	struct cmi_spec *spec = codec->spec; -	int err; +	struct snd_kcontrol *kctl; +	int i, err;  	err = snd_hda_add_new_ctls(codec, cmi9880_basic_mixer);  	if (err < 0) @@ -340,6 +341,14 @@ static int cmi9880_build_controls(struct hda_codec *codec)  		if (err < 0)  			return err;  	} + +	/* assign Capture Source enums to NID */ +	kctl = snd_hda_find_mixer_ctl(codec, "Capture Source"); +	for (i = 0; kctl && i < kctl->count; i++) { +		err = snd_hda_add_nid(codec, kctl, i, spec->adc_nids[i]); +		if (err < 0) +			return err; +	}  	return 0;  }  |