aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_cmedia.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/patch_cmedia.c')
-rw-r--r--sound/pci/hda/patch_cmedia.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_cmedia.c b/sound/pci/hda/patch_cmedia.c
index 99ce74b4e9fc..9794d4166ae4 100644
--- a/sound/pci/hda/patch_cmedia.c
+++ b/sound/pci/hda/patch_cmedia.c
@@ -329,6 +329,11 @@ static int cmi9880_build_controls(struct hda_codec *codec)
329 err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid); 329 err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid);
330 if (err < 0) 330 if (err < 0)
331 return err; 331 return err;
332 err = snd_hda_create_spdif_share_sw(codec,
333 &spec->multiout);
334 if (err < 0)
335 return err;
336 spec->multiout.share_spdif = 1;
332 } 337 }
333 if (spec->dig_in_nid) { 338 if (spec->dig_in_nid) {
334 err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); 339 err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid);
@@ -432,7 +437,8 @@ static int cmi9880_playback_pcm_open(struct hda_pcm_stream *hinfo,
432 struct snd_pcm_substream *substream) 437 struct snd_pcm_substream *substream)
433{ 438{
434 struct cmi_spec *spec = codec->spec; 439 struct cmi_spec *spec = codec->spec;
435 return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream); 440 return snd_hda_multi_out_analog_open(codec, &spec->multiout, substream,
441 hinfo);
436} 442}
437 443
438static int cmi9880_playback_pcm_prepare(struct hda_pcm_stream *hinfo, 444static int cmi9880_playback_pcm_prepare(struct hda_pcm_stream *hinfo,