aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_generic.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-12-19 08:41:21 -0500
committerTakashi Iwai <tiwai@suse.de>2013-01-12 02:30:58 -0500
commit9eb413e5e4801753f7851ec6c46528adcc15579f (patch)
treea90a1ca159f712597c2c9ee2fe750d1f66d4a6d9 /sound/pci/hda/hda_generic.h
parent12c93df60ccf926f8798723f97f9f45175fce85b (diff)
ALSA: hda - Move the call of snd_hda_parse_pin_defcfg() from snd_hda_gen_parse_auto_config()
In some cases, we want to manipulate the auto_pin_cfg table before passing to snd_hda_gen_parse_auto_config() (e.g. Realtek SSID check code fiddles with the headphone pin). Also passing ignore_pins just for snd_hda_parse_pin_defcfg() isn't good. In this patch, snd_hda_gen_parse_auto_config() is changed to receive the auto_pin_cfg table to be parsed. The passed auto_pin_cfg table must have been initialized (typically by calling snd_hda_gen_parse_auto_config()) beforehand by the caller. Also together with this change, spec->parse_flags is also removed. Since this was referred only at the place calling snd_hda_parse_pin_defcfg(), no longer needed to be kept in spec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_generic.h')
-rw-r--r--sound/pci/hda/hda_generic.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/sound/pci/hda/hda_generic.h b/sound/pci/hda/hda_generic.h
index d71e86de9060..1a3b4042c5ba 100644
--- a/sound/pci/hda/hda_generic.h
+++ b/sound/pci/hda/hda_generic.h
@@ -152,8 +152,6 @@ struct hda_gen_spec {
152 unsigned int inv_dmic_split:1; /* inverted dmic w/a for conexant */ 152 unsigned int inv_dmic_split:1; /* inverted dmic w/a for conexant */
153 unsigned int own_eapd_ctl:1; /* set EAPD by own function */ 153 unsigned int own_eapd_ctl:1; /* set EAPD by own function */
154 154
155 unsigned int parse_flags; /* passed to snd_hda_parse_pin_defcfg() */
156
157 /* for virtual master */ 155 /* for virtual master */
158 hda_nid_t vmaster_nid; 156 hda_nid_t vmaster_nid;
159 struct hda_vmaster_mute_hook vmaster_mute; 157 struct hda_vmaster_mute_hook vmaster_mute;
@@ -197,7 +195,7 @@ snd_hda_gen_add_kctl(struct hda_gen_spec *spec, const char *name,
197 const struct snd_kcontrol_new *temp); 195 const struct snd_kcontrol_new *temp);
198 196
199int snd_hda_gen_parse_auto_config(struct hda_codec *codec, 197int snd_hda_gen_parse_auto_config(struct hda_codec *codec,
200 const hda_nid_t *ignore_nids); 198 struct auto_pin_cfg *cfg);
201int snd_hda_gen_build_controls(struct hda_codec *codec); 199int snd_hda_gen_build_controls(struct hda_codec *codec);
202int snd_hda_gen_build_pcms(struct hda_codec *codec); 200int snd_hda_gen_build_pcms(struct hda_codec *codec);
203 201