diff options
author | Hui Wang <hui.wang@canonical.com> | 2014-07-08 05:56:15 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-07-08 06:41:21 -0400 |
commit | 50dd9050e45ce11c575eabcaee8a914caf78fb74 (patch) | |
tree | e948aa1234e02db07323322adcc43c3bab10efe3 /sound/pci | |
parent | fc1fad93c95bed53f701a1169c556113341b43f0 (diff) |
ALSA: hda - add capture mute led support in led_power_filter
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>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 73b175944a07..512582b1f10a 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, | |||
3403 | { | 3403 | { |
3404 | struct alc_spec *spec = codec->spec; | 3404 | struct alc_spec *spec = codec->spec; |
3405 | 3405 | ||
3406 | if (power_state != AC_PWRST_D3 || nid != spec->mute_led_nid) | 3406 | if (power_state != AC_PWRST_D3 || nid == 0 || |
3407 | (nid != spec->mute_led_nid && nid != spec->cap_mute_led_nid)) | ||
3407 | return power_state; | 3408 | return power_state; |
3408 | 3409 | ||
3409 | /* Set pin ctl again, it might have just been set to 0 */ | 3410 | /* 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, | |||
3563 | spec->gpio_led = 0; | 3564 | spec->gpio_led = 0; |
3564 | spec->cap_mute_led_nid = 0x18; | 3565 | spec->cap_mute_led_nid = 0x18; |
3565 | snd_hda_add_verbs(codec, gpio_init); | 3566 | snd_hda_add_verbs(codec, gpio_init); |
3567 | codec->power_filter = led_power_filter; | ||
3566 | } | 3568 | } |
3567 | } | 3569 | } |
3568 | 3570 | ||