summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-06-13 11:57:22 +0200
committerJaroslav Kysela <perex@suse.cz>2006-06-22 21:34:21 +0200
commit6540dffa6ecfe0d99fb263548dcc4b35ccefe784 (patch)
tree45aab0273192703d269578bf35f3b9fed9ef9bcb
parent[ALSA] ac97_codec - fix duplicate control creation in AC97 (diff)
downloadlinux-6540dffa6ecfe0d99fb263548dcc4b35ccefe784.tar.xz
linux-6540dffa6ecfe0d99fb263548dcc4b35ccefe784.zip
[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[] = {
},
{
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route",
+ .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
.info = ad1983_spdif_route_info,
.get = ad1983_spdif_route_get,
.put = ad1983_spdif_route_put,
@@ -1103,7 +1103,7 @@ static struct snd_kcontrol_new ad1981_mixers[] = {
/* identical with AD1983 */
{
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
- .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route",
+ .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
.info = ad1983_spdif_route_info,
.get = ad1983_spdif_route_get,
.put = ad1983_spdif_route_put,
@@ -1349,6 +1349,14 @@ static struct snd_kcontrol_new ad1981_thinkpad_mixers[] = {
.get = ad198x_mux_enum_get,
.put = ad198x_mux_enum_put,
},
+ /* identical with AD1983 */
+ {
+ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+ .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Source",
+ .info = ad1983_spdif_route_info,
+ .get = ad1983_spdif_route_get,
+ .put = ad1983_spdif_route_put,
+ },
{ } /* end */
};
@@ -1422,7 +1430,6 @@ static int patch_ad1981(struct hda_codec *codec)
break;
case AD1981_THINKPAD:
spec->mixers[0] = ad1981_thinkpad_mixers;
- spec->multiout.dig_out_nid = 0;
spec->input_mux = &ad1981_thinkpad_capture_source;
break;
}