diff mbox

[2/2] ALSA: hda - add capture mute led support in led_power_filter

Message ID 1404813375-7602-2-git-send-email-hui.wang@canonical.com (mailing list archive)
State Accepted
Commit 50dd9050e45ce11c575eabcaee8a914caf78fb74
Delegated to: Takashi Iwai
Headers show

Commit Message

Hui Wang July 8, 2014, 9:56 a.m. UTC
Now the led_power_filter() needs to handle 3 situations:
    - only mute_led_nid is set
    - only cap_mute_led_nid is set
    - both mute_led_ind and cap_mute_led_nid are set

BugLink: https://bugs.launchpad.net/bugs/1329580
Cc: David Henningsson <david.henningsson@canonical.com>
Cc: Kailang Yang <kailang@realtek.com>
Signed-off-by: Hui Wang <hui.wang@canonical.com>
---
 sound/pci/hda/patch_realtek.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 73b1759..512582b 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3403,7 +3403,8 @@  static unsigned int led_power_filter(struct hda_codec *codec,
 {
 	struct alc_spec *spec = codec->spec;
 
-	if (power_state != AC_PWRST_D3 || nid != spec->mute_led_nid)
+	if (power_state != AC_PWRST_D3 || nid == 0 ||
+	    (nid != spec->mute_led_nid && nid != spec->cap_mute_led_nid))
 		return power_state;
 
 	/* Set pin ctl again, it might have just been set to 0 */
@@ -3563,6 +3564,7 @@  static void alc269_fixup_hp_gpio_mic1_led(struct hda_codec *codec,
 		spec->gpio_led = 0;
 		spec->cap_mute_led_nid = 0x18;
 		snd_hda_add_verbs(codec, gpio_init);
+		codec->power_filter = led_power_filter;
 	}
 }