summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJerone Young <jerone.young@canonical.com>2010-08-03 01:46:42 -0500
committerTakashi Iwai <tiwai@suse.de>2010-08-03 08:57:11 +0200
commit607bc3e4888443cdd21a795f7312f64c2de26b5c (patch)
tree91cca82b163a1734bbd46599d00f7c19f73aca9b /sound
parent7bfb9c031ec2d220d48bf679553d6177c2e66625 (diff)
downloadlinux-3.10-607bc3e4888443cdd21a795f7312f64c2de26b5c.tar.gz
linux-3.10-607bc3e4888443cdd21a795f7312f64c2de26b5c.tar.bz2
linux-3.10-607bc3e4888443cdd21a795f7312f64c2de26b5c.zip
ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
The Lenovo X301 does not have the ability to connect to a docking station to use the SPDIF port. It also does not have the ability to do SPDIF though the headphone jack or Display Port jacks. This patch fixes it so this is not exposed for the X301 and users do think it has the ability to do SPDIF. I tested both headphone & display port jacks and it is not there. I have tested this patch and it works great. Also to add the other Thinkpads have different subsystem codec IDs. Here are examples: X301: http://launchpadlibrarian.net/31561902/Card0.Codecs.codec.0.txt X200: http://launchpadlibrarian.net/49055036/Card0.Codecs.codec.0.txt W500: http://launchpadlibrarian.net/36276057/Card0.Codecs.codec.0.txt Signed-off-by: Jerone Young <jerone.young@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_conexant.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index d6341f3fef0..df8b19b1730 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -2057,6 +2057,10 @@ static int patch_cxt5051(struct hda_codec *codec)
break;
case CXT5051_LENOVO_X200:
spec->init_verbs[0] = cxt5051_lenovo_x200_init_verbs;
+ /* Thinkpad X301 does not have S/PDIF wired and no ability
+ to use a docking station. */
+ if (codec->subsystem_id == 0x17aa211f)
+ spec->multiout.dig_out_nid = 0;
break;
case CXT5051_F700:
spec->init_verbs[0] = cxt5051_f700_init_verbs;