aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-06-13 05:57:22 -0400
committerJaroslav Kysela <perex@suse.cz>2006-06-22 15:34:21 -0400
commit6540dffa6ecfe0d99fb263548dcc4b35ccefe784 (patch)
tree45aab0273192703d269578bf35f3b9fed9ef9bcb
parent70c5acbdcc7bb1651bb166f9e4b2345759a9fb18 (diff)
[ALSA] hda-codec - Add SPDIF support to Thinkpad T/X/Z60
Added IEC958 (SPDIF) output support to Thinkpad T/X/Z60 with AD1981HD codec. The spdif jack is on docking station. Also, renamed 'IEC958 Playback Route' to 'IEC958 Playback Source' to avoid the mixer name confliction with IEC958 switch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_analog.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index e83c7b01cbb6..e13e36aefbb0 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -963,7 +963,7 @@ static struct snd_kcontrol_new ad1983_mixers[] = {
963 }, 963 },
964 { 964 {
965 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 965 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
966 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route", 966 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
967 .info = ad1983_spdif_route_info, 967 .info = ad1983_spdif_route_info,
968 .get = ad1983_spdif_route_get, 968 .get = ad1983_spdif_route_get,
969 .put = ad1983_spdif_route_put, 969 .put = ad1983_spdif_route_put,
@@ -1103,7 +1103,7 @@ static struct snd_kcontrol_new ad1981_mixers[] = {
1103 /* identical with AD1983 */ 1103 /* identical with AD1983 */
1104 { 1104 {
1105 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1105 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1106 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route", 1106 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
1107 .info = ad1983_spdif_route_info, 1107 .info = ad1983_spdif_route_info,
1108 .get = ad1983_spdif_route_get, 1108 .get = ad1983_spdif_route_get,
1109 .put = ad1983_spdif_route_put, 1109 .put = ad1983_spdif_route_put,
@@ -1349,6 +1349,14 @@ static struct snd_kcontrol_new ad1981_thinkpad_mixers[] = {
1349 .get = ad198x_mux_enum_get, 1349 .get = ad198x_mux_enum_get,
1350 .put = ad198x_mux_enum_put, 1350 .put = ad198x_mux_enum_put,
1351 }, 1351 },
1352 /* identical with AD1983 */
1353 {
1354 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1355 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
1356 .info = ad1983_spdif_route_info,
1357 .get = ad1983_spdif_route_get,
1358 .put = ad1983_spdif_route_put,
1359 },
1352 { } /* end */ 1360 { } /* end */
1353}; 1361};
1354 1362
@@ -1422,7 +1430,6 @@ static int patch_ad1981(struct hda_codec *codec)
1422 break; 1430 break;
1423 case AD1981_THINKPAD: 1431 case AD1981_THINKPAD:
1424 spec->mixers[0] = ad1981_thinkpad_mixers; 1432 spec->mixers[0] = ad1981_thinkpad_mixers;
1425 spec->multiout.dig_out_nid = 0;
1426 spec->input_mux = &ad1981_thinkpad_capture_source; 1433 spec->input_mux = &ad1981_thinkpad_capture_source;
1427 break; 1434 break;
1428 } 1435 }