summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_auto_parser.h
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2013-04-11 11:30:29 +0200
committerTakashi Iwai <tiwai@suse.de>2013-04-11 11:59:27 +0200
commit3cdbe11ae8d2eead564605b0d2193ac470d6b7e8 (patch)
tree88b3c79dedaa4ad3770496dbb44b40f117026fdb /sound/pci/hda/hda_auto_parser.h
parentcb420b1186e0090f24137855e14e6f3bf7cb769d (diff)
downloadlinux-3cdbe11ae8d2eead564605b0d2193ac470d6b7e8.tar.gz
linux-3cdbe11ae8d2eead564605b0d2193ac470d6b7e8.tar.bz2
linux-3cdbe11ae8d2eead564605b0d2193ac470d6b7e8.zip
ALSA: hda - add some small convenience functions to auto parser
I never liked that we move our speaker and hp pins to line out if there are not any line outs; but now that we do, add some convenience functions to find hp and speaker pins even if they have been moved. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_auto_parser.h')
-rw-r--r--sound/pci/hda/hda_auto_parser.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_auto_parser.h b/sound/pci/hda/hda_auto_parser.h
index fe2ba7fafe4d..e941f604f5e5 100644
--- a/sound/pci/hda/hda_auto_parser.h
+++ b/sound/pci/hda/hda_auto_parser.h
@@ -94,4 +94,25 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec,
#define snd_hda_parse_pin_def_config(codec, cfg, ignore) \
snd_hda_parse_pin_defcfg(codec, cfg, ignore, 0)
+static inline int auto_cfg_hp_outs(const struct auto_pin_cfg *cfg)
+{
+ return (cfg->line_out_type == AUTO_PIN_HP_OUT) ?
+ cfg->line_outs : cfg->hp_outs;
+}
+static inline const hda_nid_t *auto_cfg_hp_pins(const struct auto_pin_cfg *cfg)
+{
+ return (cfg->line_out_type == AUTO_PIN_HP_OUT) ?
+ cfg->line_out_pins : cfg->hp_pins;
+}
+static inline int auto_cfg_speaker_outs(const struct auto_pin_cfg *cfg)
+{
+ return (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) ?
+ cfg->line_outs : cfg->speaker_outs;
+}
+static inline const hda_nid_t *auto_cfg_speaker_pins(const struct auto_pin_cfg *cfg)
+{
+ return (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) ?
+ cfg->line_out_pins : cfg->speaker_pins;
+}
+
#endif /* __SOUND_HDA_AUTO_PARSER_H */