ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the...
authorJerone Young <jerone.young@canonical.com>
Tue, 3 Aug 2010 06:46:42 +0000 (01:46 -0500)
committerTakashi Iwai <tiwai@suse.de>
Tue, 3 Aug 2010 06:57:11 +0000 (08:57 +0200)
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>
sound/pci/hda/patch_conexant.c

index d6341f3fef01bfa0da87979b6c1accc44a04b4a6..df8b19b17308bd66a9d8148dd18179c852f906f7 100644 (file)
@@ -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;