diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-12-26 04:36:12 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-12-26 04:36:12 -0500 |
commit | 043958e602ac2cbf918c0dab1e4e2a7f9751ebf6 (patch) | |
tree | 760ae6f9d6e574fc9a5d3f24ce4cc6b423466c3f /sound | |
parent | 15e7f8b92aed71819411025279cd3df37f8c636b (diff) |
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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 247be19e17b8..69dd5a4e52f2 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -4184,9 +4184,23 @@ static void stac_store_hints(struct hda_codec *codec) | |||
4184 | p = snd_hda_get_hint(codec, "eapd_mask"); | 4184 | p = snd_hda_get_hint(codec, "eapd_mask"); |
4185 | if (p) | 4185 | if (p) |
4186 | spec->eapd_mask = simple_strtoul(p, NULL, 0) & spec->gpio_mask; | 4186 | spec->eapd_mask = simple_strtoul(p, NULL, 0) & spec->gpio_mask; |
4187 | p = snd_hda_get_hint(codec, "gpio_mute"); | ||
4188 | if (p) | ||
4189 | spec->gpio_mute = simple_strtoul(p, NULL, 0) & spec->gpio_mask; | ||
4187 | val = snd_hda_get_bool_hint(codec, "eapd_switch"); | 4190 | val = snd_hda_get_bool_hint(codec, "eapd_switch"); |
4188 | if (val >= 0) | 4191 | if (val >= 0) |
4189 | spec->eapd_switch = val; | 4192 | spec->eapd_switch = val; |
4193 | p = snd_hda_get_hint(codec, "gpio_led_polarity"); | ||
4194 | if (p) | ||
4195 | spec->gpio_led_polarity = simple_strtoul(p, NULL, 0); | ||
4196 | p = snd_hda_get_hint(codec, "gpio_led"); | ||
4197 | if (p) { | ||
4198 | spec->gpio_led = simple_strtoul(p, NULL, 0); | ||
4199 | spec->gpio_mask |= spec->gpio_led; | ||
4200 | spec->gpio_dir |= spec->gpio_led; | ||
4201 | if (spec->gpio_led_polarity) | ||
4202 | spec->gpio_data |= spec->gpio_led; | ||
4203 | } | ||
4190 | } | 4204 | } |
4191 | 4205 | ||
4192 | static int stac92xx_init(struct hda_codec *codec) | 4206 | static int stac92xx_init(struct hda_codec *codec) |