Commit dce17d4f authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Fix default polarity of mute-LED GPIO on 92HD83x/88x codecs

The previous commit caused a regression on HP laptops with 92HD83x/88x
codecs.  The default polarity of mute-LED GPIO is inverted on these
devices.

Reference: Novell bnc#578190
	https://bugzilla.novell.com/show_bug.cgi?id=578190Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent b99a776d
...@@ -4790,7 +4790,7 @@ static void set_hp_led_gpio(struct hda_codec *codec) ...@@ -4790,7 +4790,7 @@ static void set_hp_led_gpio(struct hda_codec *codec)
* Need more information on whether it is true across the entire series. * Need more information on whether it is true across the entire series.
* -- kunal * -- kunal
*/ */
static int find_mute_led_gpio(struct hda_codec *codec) static int find_mute_led_gpio(struct hda_codec *codec, int default_polarity)
{ {
struct sigmatel_spec *spec = codec->spec; struct sigmatel_spec *spec = codec->spec;
const struct dmi_device *dev = NULL; const struct dmi_device *dev = NULL;
...@@ -4817,7 +4817,7 @@ static int find_mute_led_gpio(struct hda_codec *codec) ...@@ -4817,7 +4817,7 @@ static int find_mute_led_gpio(struct hda_codec *codec)
*/ */
if (!hp_blike_system(codec->subsystem_id)) { if (!hp_blike_system(codec->subsystem_id)) {
set_hp_led_gpio(codec); set_hp_led_gpio(codec);
spec->gpio_led_polarity = 1; spec->gpio_led_polarity = default_polarity;
return 1; return 1;
} }
} }
...@@ -5343,7 +5343,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) ...@@ -5343,7 +5343,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
codec->patch_ops = stac92xx_patch_ops; codec->patch_ops = stac92xx_patch_ops;
if (find_mute_led_gpio(codec)) if (find_mute_led_gpio(codec, 0))
snd_printd("mute LED gpio %d polarity %d\n", snd_printd("mute LED gpio %d polarity %d\n",
spec->gpio_led, spec->gpio_led,
spec->gpio_led_polarity); spec->gpio_led_polarity);
...@@ -5705,7 +5705,7 @@ static int patch_stac92hd71bxx(struct hda_codec *codec) ...@@ -5705,7 +5705,7 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
} }
} }
if (find_mute_led_gpio(codec)) if (find_mute_led_gpio(codec, 1))
snd_printd("mute LED gpio %d polarity %d\n", snd_printd("mute LED gpio %d polarity %d\n",
spec->gpio_led, spec->gpio_led,
spec->gpio_led_polarity); spec->gpio_led_polarity);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment