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_realtek.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_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 1db99df79502..e46251bceb9d 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4291,7 +4291,7 @@ static int alc880_parse_auto_config(struct hda_codec *codec) | |||
4291 | 4291 | ||
4292 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; | 4292 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; |
4293 | 4293 | ||
4294 | if (spec->autocfg.dig_out_pin) | 4294 | if (spec->autocfg.dig_outs) |
4295 | spec->multiout.dig_out_nid = ALC880_DIGOUT_NID; | 4295 | spec->multiout.dig_out_nid = ALC880_DIGOUT_NID; |
4296 | if (spec->autocfg.dig_in_pin) | 4296 | if (spec->autocfg.dig_in_pin) |
4297 | spec->dig_in_nid = ALC880_DIGIN_NID; | 4297 | spec->dig_in_nid = ALC880_DIGIN_NID; |
@@ -5658,7 +5658,7 @@ static int alc260_parse_auto_config(struct hda_codec *codec) | |||
5658 | 5658 | ||
5659 | spec->multiout.max_channels = 2; | 5659 | spec->multiout.max_channels = 2; |
5660 | 5660 | ||
5661 | if (spec->autocfg.dig_out_pin) | 5661 | if (spec->autocfg.dig_outs) |
5662 | spec->multiout.dig_out_nid = ALC260_DIGOUT_NID; | 5662 | spec->multiout.dig_out_nid = ALC260_DIGOUT_NID; |
5663 | if (spec->kctls.list) | 5663 | if (spec->kctls.list) |
5664 | add_mixer(spec, spec->kctls.list); | 5664 | add_mixer(spec, spec->kctls.list); |
@@ -10626,7 +10626,7 @@ static int alc262_parse_auto_config(struct hda_codec *codec) | |||
10626 | if (err < 0) | 10626 | if (err < 0) |
10627 | return err; | 10627 | return err; |
10628 | if (!spec->autocfg.line_outs) { | 10628 | if (!spec->autocfg.line_outs) { |
10629 | if (spec->autocfg.dig_out_pin || spec->autocfg.dig_in_pin) { | 10629 | if (spec->autocfg.dig_outs || spec->autocfg.dig_in_pin) { |
10630 | spec->multiout.max_channels = 2; | 10630 | spec->multiout.max_channels = 2; |
10631 | spec->no_analog = 1; | 10631 | spec->no_analog = 1; |
10632 | goto dig_only; | 10632 | goto dig_only; |
@@ -10643,9 +10643,9 @@ static int alc262_parse_auto_config(struct hda_codec *codec) | |||
10643 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; | 10643 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; |
10644 | 10644 | ||
10645 | dig_only: | 10645 | dig_only: |
10646 | if (spec->autocfg.dig_out_pin) { | 10646 | if (spec->autocfg.dig_outs) { |
10647 | spec->multiout.dig_out_nid = ALC262_DIGOUT_NID; | 10647 | spec->multiout.dig_out_nid = ALC262_DIGOUT_NID; |
10648 | spec->dig_out_type = spec->autocfg.dig_out_type; | 10648 | spec->dig_out_type = spec->autocfg.dig_out_type[0]; |
10649 | } | 10649 | } |
10650 | if (spec->autocfg.dig_in_pin) | 10650 | if (spec->autocfg.dig_in_pin) |
10651 | spec->dig_in_nid = ALC262_DIGIN_NID; | 10651 | spec->dig_in_nid = ALC262_DIGIN_NID; |
@@ -11807,7 +11807,7 @@ static int alc268_parse_auto_config(struct hda_codec *codec) | |||
11807 | spec->multiout.max_channels = 2; | 11807 | spec->multiout.max_channels = 2; |
11808 | 11808 | ||
11809 | /* digital only support output */ | 11809 | /* digital only support output */ |
11810 | if (spec->autocfg.dig_out_pin) | 11810 | if (spec->autocfg.dig_outs) |
11811 | spec->multiout.dig_out_nid = ALC268_DIGOUT_NID; | 11811 | spec->multiout.dig_out_nid = ALC268_DIGOUT_NID; |
11812 | 11812 | ||
11813 | if (spec->kctls.list) | 11813 | if (spec->kctls.list) |
@@ -12722,7 +12722,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec) | |||
12722 | 12722 | ||
12723 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; | 12723 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; |
12724 | 12724 | ||
12725 | if (spec->autocfg.dig_out_pin) | 12725 | if (spec->autocfg.dig_outs) |
12726 | spec->multiout.dig_out_nid = ALC269_DIGOUT_NID; | 12726 | spec->multiout.dig_out_nid = ALC269_DIGOUT_NID; |
12727 | 12727 | ||
12728 | if (spec->kctls.list) | 12728 | if (spec->kctls.list) |
@@ -13779,7 +13779,7 @@ static int alc861_parse_auto_config(struct hda_codec *codec) | |||
13779 | 13779 | ||
13780 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; | 13780 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; |
13781 | 13781 | ||
13782 | if (spec->autocfg.dig_out_pin) | 13782 | if (spec->autocfg.dig_outs) |
13783 | spec->multiout.dig_out_nid = ALC861_DIGOUT_NID; | 13783 | spec->multiout.dig_out_nid = ALC861_DIGOUT_NID; |
13784 | 13784 | ||
13785 | if (spec->kctls.list) | 13785 | if (spec->kctls.list) |
@@ -14881,7 +14881,7 @@ static int alc861vd_parse_auto_config(struct hda_codec *codec) | |||
14881 | 14881 | ||
14882 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; | 14882 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; |
14883 | 14883 | ||
14884 | if (spec->autocfg.dig_out_pin) | 14884 | if (spec->autocfg.dig_outs) |
14885 | spec->multiout.dig_out_nid = ALC861VD_DIGOUT_NID; | 14885 | spec->multiout.dig_out_nid = ALC861VD_DIGOUT_NID; |
14886 | 14886 | ||
14887 | if (spec->kctls.list) | 14887 | if (spec->kctls.list) |
@@ -16689,7 +16689,7 @@ static int alc662_parse_auto_config(struct hda_codec *codec) | |||
16689 | 16689 | ||
16690 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; | 16690 | spec->multiout.max_channels = spec->multiout.num_dacs * 2; |
16691 | 16691 | ||
16692 | if (spec->autocfg.dig_out_pin) | 16692 | if (spec->autocfg.dig_outs) |
16693 | spec->multiout.dig_out_nid = ALC880_DIGOUT_NID; | 16693 | spec->multiout.dig_out_nid = ALC880_DIGOUT_NID; |
16694 | 16694 | ||
16695 | if (spec->kctls.list) | 16695 | if (spec->kctls.list) |