diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-02-11 05:35:15 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-02-11 18:04:19 -0500 |
commit | 0852d7a654f75d22a3c09fd7da4a3551bbb37740 (patch) | |
tree | 36cb4ec6ddd8a5b2ffa06e4d951282b3435b371b /sound/pci/hda/patch_sigmatel.c | |
parent | 32d2c7fa1344ddf51886eddf31e228d139501dc6 (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.c | 10 |
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, |