summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-04-23 17:16:21 +0200
committerJaroslav Kysela <perex@suse.cz>2007-05-11 16:56:09 +0200
commitd258e24a39a75834f25c39f90a3a429978e9b896 (patch)
tree93f5329faa03a77762b95c6e7e4508c714a5d06f
parent658fba0efe93fdef44f65cff391ae2a881e30d90 (diff)
downloadlinux-d258e24a39a75834f25c39f90a3a429978e9b896.tar.bz2
[ALSA] hda-codec - Add line_out_type to auto_pin_cfg struct
Added line_out_type field to auto_pin_cfg struct to provide the pin type of default line_outs. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r--sound/pci/hda/hda_codec.c2
-rw-r--r--sound/pci/hda/hda_local.h7
2 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index a58fdf4cbe5c..9c8ac157791f 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2288,12 +2288,14 @@ int __devinit snd_hda_parse_pin_def_config(struct hda_codec *codec,
sizeof(cfg->speaker_pins));
cfg->speaker_outs = 0;
memset(cfg->speaker_pins, 0, sizeof(cfg->speaker_pins));
+ cfg->line_out_type = AUTO_PIN_SPEAKER_OUT;
} else if (cfg->hp_outs) {
cfg->line_outs = cfg->hp_outs;
memcpy(cfg->line_out_pins, cfg->hp_pins,
sizeof(cfg->hp_pins));
cfg->hp_outs = 0;
memset(cfg->hp_pins, 0, sizeof(cfg->hp_pins));
+ cfg->line_out_type = AUTO_PIN_HP_OUT;
}
}
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index 3505a670995f..be12b8814c39 100644
--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -222,6 +222,12 @@ enum {
AUTO_PIN_LAST
};
+enum {
+ AUTO_PIN_LINE_OUT,
+ AUTO_PIN_SPEAKER_OUT,
+ AUTO_PIN_HP_OUT
+};
+
extern const char *auto_pin_cfg_labels[AUTO_PIN_LAST];
struct auto_pin_cfg {
@@ -230,6 +236,7 @@ struct auto_pin_cfg {
int speaker_outs;
hda_nid_t speaker_pins[5];
int hp_outs;
+ int line_out_type; /* AUTO_PIN_XXX_OUT */
hda_nid_t hp_pins[5];
hda_nid_t input_pins[AUTO_PIN_LAST];
hda_nid_t dig_out_pin;