At least two HP laptop models with the IDT 92HD81B1X5 codec have the polarity of the mute led inverted with respect to the current driver default. Change the polarity for these machines only.
Signed-off-by: Gustavo Maciel Dias Vieira gustavo@sagui.org --- sound/pci/hda/patch_sigmatel.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index d8d2f9d..c920a27 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -5601,6 +5601,16 @@ static void stac92hd8x_fill_auto_spec(struct hda_codec *codec) spec->num_dmics = spec->auto_dmic_cnt; }
+static int stac92hd8x_hp_mute_led_polarity(struct hda_codec *codec) +{ + switch (codec->subsystem_id) { + case 0x103c1650: + return 1; + } + return 0; +} + + static int patch_stac92hd83xxx(struct hda_codec *codec) { struct sigmatel_spec *spec; @@ -5642,7 +5652,7 @@ again:
codec->patch_ops = stac92xx_patch_ops;
- if (find_mute_led_gpio(codec, 0)) + if (find_mute_led_gpio(codec, stac92hd8x_hp_mute_led_polarity(codec))) snd_printd("mute LED gpio %d polarity %d\n", spec->gpio_led, spec->gpio_led_polarity);