ALSA: hda - add some small convenience functions to auto parser
authorDavid Henningsson <david.henningsson@canonical.com>
Thu, 11 Apr 2013 09:30:29 +0000 (11:30 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 11 Apr 2013 09:59:27 +0000 (11:59 +0200)
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>
sound/pci/hda/hda_auto_parser.h

index fe2ba7fafe4d8144ea802b2793d4b9afde9d66ec..e941f604f5e5d450c2ac204a2a401842d5f6d4a8 100644 (file)
@@ -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 */