diff options
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 7f506ef0accb..7901e76f2690 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -916,6 +916,11 @@ static int stac92xx_build_controls(struct hda_codec *codec) | |||
916 | err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid); | 916 | err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid); |
917 | if (err < 0) | 917 | if (err < 0) |
918 | return err; | 918 | return err; |
919 | err = snd_hda_create_spdif_share_sw(codec, | ||
920 | &spec->multiout); | ||
921 | if (err < 0) | ||
922 | return err; | ||
923 | spec->multiout.share_spdif = 1; | ||
919 | } | 924 | } |
920 | if (spec->dig_in_nid) { | 925 | if (spec->dig_in_nid) { |
921 | err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); | 926 | err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); |
@@ -1748,7 +1753,8 @@ static int stac92xx_playback_pcm_open(struct hda_pcm_stream *hinfo, | |||
1748 | struct snd_pcm_substream *substream) | 1753 | struct snd_pcm_substream *substream) |
1749 | { | 1754 | { |
1750 | struct sigmatel_spec *spec = codec->spec; | 1755 | struct sigmatel_spec *spec = codec->spec; |
1751 | return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); | 1756 | return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream, |
1757 | hinfo); | ||
1752 | } | 1758 | } |
1753 | 1759 | ||
1754 | static int stac92xx_playback_pcm_prepare(struct hda_pcm_stream *hinfo, | 1760 | static int stac92xx_playback_pcm_prepare(struct hda_pcm_stream *hinfo, |