diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-05-11 02:36:29 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-05-11 02:36:29 -0400 |
commit | 26ebe0a28986f4845b2c5bea43ac5cc0b9f27f0a (patch) | |
tree | 58973f99d2f0286c177da07a7822db24c1fa53db | |
parent | 0ebf9e3692d640917fb792a7494d05e1f5b1058f (diff) |
ALSA: hda - Fix mute-LED GPIO pin for HP dv series
Old HP dv series seem to use the GPIO pin 0 for controlling the mute LED
although the pin is a large package, where the newer models use GPIO 3
in such a case. For fixing the regression from the previous kernels,
set spec->gpio_led statically for these model quirks.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 12825aa03106..eb4ea3df5d84 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -4766,6 +4766,9 @@ static void set_hp_led_gpio(struct hda_codec *codec) | |||
4766 | struct sigmatel_spec *spec = codec->spec; | 4766 | struct sigmatel_spec *spec = codec->spec; |
4767 | unsigned int gpio; | 4767 | unsigned int gpio; |
4768 | 4768 | ||
4769 | if (spec->gpio_led) | ||
4770 | return; | ||
4771 | |||
4769 | gpio = snd_hda_param_read(codec, codec->afg, AC_PAR_GPIO_CAP); | 4772 | gpio = snd_hda_param_read(codec, codec->afg, AC_PAR_GPIO_CAP); |
4770 | gpio &= AC_GPIO_IO_COUNT; | 4773 | gpio &= AC_GPIO_IO_COUNT; |
4771 | if (gpio > 3) | 4774 | if (gpio > 3) |
@@ -5683,11 +5686,13 @@ again: | |||
5683 | * detection. | 5686 | * detection. |
5684 | */ | 5687 | */ |
5685 | spec->hp_detect = 1; | 5688 | spec->hp_detect = 1; |
5689 | spec->gpio_led = 0x01; | ||
5686 | break; | 5690 | break; |
5687 | case STAC_HP_HDX: | 5691 | case STAC_HP_HDX: |
5688 | spec->num_dmics = 1; | 5692 | spec->num_dmics = 1; |
5689 | spec->num_dmuxes = 1; | 5693 | spec->num_dmuxes = 1; |
5690 | spec->num_smuxes = 1; | 5694 | spec->num_smuxes = 1; |
5695 | spec->gpio_led = 0x08; | ||
5691 | break; | 5696 | break; |
5692 | } | 5697 | } |
5693 | 5698 | ||