ALSA: hda - Add more hints for GPIO setup of IDT/STAC codecs
gpio_led, gpio_led_polarity and gpio_mute are added now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 247be19..69dd5a4 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -4184,9 +4184,23 @@
p = snd_hda_get_hint(codec, "eapd_mask");
if (p)
spec->eapd_mask = simple_strtoul(p, NULL, 0) & spec->gpio_mask;
+ p = snd_hda_get_hint(codec, "gpio_mute");
+ if (p)
+ spec->gpio_mute = simple_strtoul(p, NULL, 0) & spec->gpio_mask;
val = snd_hda_get_bool_hint(codec, "eapd_switch");
if (val >= 0)
spec->eapd_switch = val;
+ p = snd_hda_get_hint(codec, "gpio_led_polarity");
+ if (p)
+ spec->gpio_led_polarity = simple_strtoul(p, NULL, 0);
+ p = snd_hda_get_hint(codec, "gpio_led");
+ if (p) {
+ spec->gpio_led = simple_strtoul(p, NULL, 0);
+ spec->gpio_mask |= spec->gpio_led;
+ spec->gpio_dir |= spec->gpio_led;
+ if (spec->gpio_led_polarity)
+ spec->gpio_data |= spec->gpio_led;
+ }
}
static int stac92xx_init(struct hda_codec *codec)