aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-02-11 05:35:15 -0500
committerTakashi Iwai <tiwai@suse.de>2009-02-11 18:04:19 -0500
commit0852d7a654f75d22a3c09fd7da4a3551bbb37740 (patch)
tree36cb4ec6ddd8a5b2ffa06e4d951282b3435b371b /sound/pci/hda/patch_sigmatel.c
parent32d2c7fa1344ddf51886eddf31e228d139501dc6 (diff)
ALSA: hda - Detect multiple digital-out pins
Detect multiple digital-out pins in snd_hda_parse_pin_defconfig(). The dig_out_pin and dig_out_type fields become arrays. The codec parser still doesn't use this multiple pins detection, though. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 12b30884843b..1882c5735879 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -2546,7 +2546,7 @@ static int stac92xx_build_pcms(struct hda_codec *codec)
2546 codec->num_pcms++; 2546 codec->num_pcms++;
2547 info++; 2547 info++;
2548 info->name = "STAC92xx Digital"; 2548 info->name = "STAC92xx Digital";
2549 info->pcm_type = spec->autocfg.dig_out_type; 2549 info->pcm_type = spec->autocfg.dig_out_type[0];
2550 if (spec->multiout.dig_out_nid) { 2550 if (spec->multiout.dig_out_nid) {
2551 info->stream[SNDRV_PCM_STREAM_PLAYBACK] = stac92xx_pcm_digital_playback; 2551 info->stream[SNDRV_PCM_STREAM_PLAYBACK] = stac92xx_pcm_digital_playback;
2552 info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = spec->multiout.dig_out_nid; 2552 info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = spec->multiout.dig_out_nid;
@@ -3706,7 +3706,7 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out
3706 if (spec->multiout.max_channels > 2) 3706 if (spec->multiout.max_channels > 2)
3707 spec->surr_switch = 1; 3707 spec->surr_switch = 1;
3708 3708
3709 if (spec->autocfg.dig_out_pin) 3709 if (spec->autocfg.dig_outs)
3710 spec->multiout.dig_out_nid = dig_out; 3710 spec->multiout.dig_out_nid = dig_out;
3711 if (dig_in && spec->autocfg.dig_in_pin) 3711 if (dig_in && spec->autocfg.dig_in_pin)
3712 spec->dig_in_nid = dig_in; 3712 spec->dig_in_nid = dig_in;
@@ -3819,7 +3819,7 @@ static int stac9200_parse_auto_config(struct hda_codec *codec)
3819 if (err < 0) 3819 if (err < 0)
3820 return err; 3820 return err;
3821 3821
3822 if (spec->autocfg.dig_out_pin) 3822 if (spec->autocfg.dig_outs)
3823 spec->multiout.dig_out_nid = 0x05; 3823 spec->multiout.dig_out_nid = 0x05;
3824 if (spec->autocfg.dig_in_pin) 3824 if (spec->autocfg.dig_in_pin)
3825 spec->dig_in_nid = 0x04; 3825 spec->dig_in_nid = 0x04;
@@ -4069,8 +4069,8 @@ static int stac92xx_init(struct hda_codec *codec)
4069 for (i = 0; i < spec->num_dmics; i++) 4069 for (i = 0; i < spec->num_dmics; i++)
4070 stac92xx_auto_set_pinctl(codec, spec->dmic_nids[i], 4070 stac92xx_auto_set_pinctl(codec, spec->dmic_nids[i],
4071 AC_PINCTL_IN_EN); 4071 AC_PINCTL_IN_EN);
4072 if (cfg->dig_out_pin) 4072 if (cfg->dig_out_pins[0])
4073 stac92xx_auto_set_pinctl(codec, cfg->dig_out_pin, 4073 stac92xx_auto_set_pinctl(codec, cfg->dig_out_pins[0],
4074 AC_PINCTL_OUT_EN); 4074 AC_PINCTL_OUT_EN);
4075 if (cfg->dig_in_pin) 4075 if (cfg->dig_in_pin)
4076 stac92xx_auto_set_pinctl(codec, cfg->dig_in_pin, 4076 stac92xx_auto_set_pinctl(codec, cfg->dig_in_pin,