From 664389dbd59eba1af2904c4dcbb7af774e6a3324 Mon Sep 17 00:00:00 2001 From: David Henningsson Date: Mon, 28 Jan 2013 11:29:17 +0100 Subject: [PATCH] ALSA: hda - Fix powermap for external mics on IDT codecs This patch fixes a regression of the external mic not working on HP Probook 4520s. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai --- sound/pci/hda/patch_sigmatel.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 1c49861b994f..951fc0ddf75a 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -502,6 +502,13 @@ static void stac_line_automute(struct hda_codec *codec, jack_update_power(codec, jack); } +static void stac_mic_autoswitch(struct hda_codec *codec, + struct hda_jack_tbl *jack) +{ + snd_hda_gen_mic_autoswitch(codec, jack); + jack_update_power(codec, jack); +} + static void stac_vref_event(struct hda_codec *codec, struct hda_jack_tbl *event) { unsigned int data; @@ -3509,6 +3516,7 @@ static int stac_parse_auto_config(struct hda_codec *codec) spec->gen.automute_hook = stac_update_outputs; spec->gen.hp_automute_hook = stac_hp_automute; spec->gen.line_automute_hook = stac_line_automute; + spec->gen.mic_autoswitch_hook = stac_mic_autoswitch; err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg); if (err < 0) -- 2.34.1