diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_analog.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 0fa5f00edb5c..67144dce90d7 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c | |||
@@ -3095,6 +3095,16 @@ static struct snd_kcontrol_new ad1984_thinkpad_mixers[] = { | |||
3095 | .get = ad198x_mux_enum_get, | 3095 | .get = ad198x_mux_enum_get, |
3096 | .put = ad198x_mux_enum_put, | 3096 | .put = ad198x_mux_enum_put, |
3097 | }, | 3097 | }, |
3098 | /* SPDIF controls */ | ||
3099 | HDA_CODEC_VOLUME("IEC958 Playback Volume", 0x1b, 0x0, HDA_OUTPUT), | ||
3100 | { | ||
3101 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | ||
3102 | .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source", | ||
3103 | /* identical with ad1983 */ | ||
3104 | .info = ad1983_spdif_route_info, | ||
3105 | .get = ad1983_spdif_route_get, | ||
3106 | .put = ad1983_spdif_route_put, | ||
3107 | }, | ||
3098 | { } /* end */ | 3108 | { } /* end */ |
3099 | }; | 3109 | }; |
3100 | 3110 | ||
@@ -3197,7 +3207,7 @@ static int patch_ad1984(struct hda_codec *codec) | |||
3197 | codec->patch_ops.build_pcms = ad1984_build_pcms; | 3207 | codec->patch_ops.build_pcms = ad1984_build_pcms; |
3198 | break; | 3208 | break; |
3199 | case AD1984_THINKPAD: | 3209 | case AD1984_THINKPAD: |
3200 | spec->multiout.dig_out_nid = 0; | 3210 | spec->multiout.dig_out_nid = AD1884_SPDIF_OUT; |
3201 | spec->input_mux = &ad1984_thinkpad_capture_source; | 3211 | spec->input_mux = &ad1984_thinkpad_capture_source; |
3202 | spec->mixers[0] = ad1984_thinkpad_mixers; | 3212 | spec->mixers[0] = ad1984_thinkpad_mixers; |
3203 | spec->init_verbs[spec->num_init_verbs++] = ad1984_thinkpad_init_verbs; | 3213 | spec->init_verbs[spec->num_init_verbs++] = ad1984_thinkpad_init_verbs; |