diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index a1596a3b171c..217ee1f344b8 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -101,6 +101,7 @@ enum { | |||
101 | STAC_92HD83XXX_HP_cNB11_INTQUAD, | 101 | STAC_92HD83XXX_HP_cNB11_INTQUAD, |
102 | STAC_HP_DV7_4000, | 102 | STAC_HP_DV7_4000, |
103 | STAC_HP_ZEPHYR, | 103 | STAC_HP_ZEPHYR, |
104 | STAC_92HD83XXX_HP_LED, | ||
104 | STAC_92HD83XXX_MODELS | 105 | STAC_92HD83XXX_MODELS |
105 | }; | 106 | }; |
106 | 107 | ||
@@ -1675,6 +1676,7 @@ static const char * const stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = { | |||
1675 | [STAC_92HD83XXX_HP_cNB11_INTQUAD] = "hp_cNB11_intquad", | 1676 | [STAC_92HD83XXX_HP_cNB11_INTQUAD] = "hp_cNB11_intquad", |
1676 | [STAC_HP_DV7_4000] = "hp-dv7-4000", | 1677 | [STAC_HP_DV7_4000] = "hp-dv7-4000", |
1677 | [STAC_HP_ZEPHYR] = "hp-zephyr", | 1678 | [STAC_HP_ZEPHYR] = "hp-zephyr", |
1679 | [STAC_92HD83XXX_HP_LED] = "hp-led", | ||
1678 | }; | 1680 | }; |
1679 | 1681 | ||
1680 | static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { | 1682 | static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { |
@@ -1729,6 +1731,8 @@ static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { | |||
1729 | "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD), | 1731 | "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD), |
1730 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3561, | 1732 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3561, |
1731 | "HP", STAC_HP_ZEPHYR), | 1733 | "HP", STAC_HP_ZEPHYR), |
1734 | SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3660, | ||
1735 | "HP Mini", STAC_92HD83XXX_HP_LED), | ||
1732 | {} /* terminator */ | 1736 | {} /* terminator */ |
1733 | }; | 1737 | }; |
1734 | 1738 | ||
@@ -5507,6 +5511,7 @@ static void stac92hd8x_fill_auto_spec(struct hda_codec *codec) | |||
5507 | static int patch_stac92hd83xxx(struct hda_codec *codec) | 5511 | static int patch_stac92hd83xxx(struct hda_codec *codec) |
5508 | { | 5512 | { |
5509 | struct sigmatel_spec *spec; | 5513 | struct sigmatel_spec *spec; |
5514 | int default_polarity = -1; /* no default cfg */ | ||
5510 | int err; | 5515 | int err; |
5511 | 5516 | ||
5512 | spec = kzalloc(sizeof(*spec), GFP_KERNEL); | 5517 | spec = kzalloc(sizeof(*spec), GFP_KERNEL); |
@@ -5555,9 +5560,12 @@ again: | |||
5555 | case STAC_HP_ZEPHYR: | 5560 | case STAC_HP_ZEPHYR: |
5556 | spec->init = stac92hd83xxx_hp_zephyr_init; | 5561 | spec->init = stac92hd83xxx_hp_zephyr_init; |
5557 | break; | 5562 | break; |
5563 | case STAC_92HD83XXX_HP_LED: | ||
5564 | default_polarity = 1; | ||
5565 | break; | ||
5558 | } | 5566 | } |
5559 | 5567 | ||
5560 | if (find_mute_led_cfg(codec, -1/*no default cfg*/)) | 5568 | if (find_mute_led_cfg(codec, default_polarity)) |
5561 | snd_printd("mute LED gpio %d polarity %d\n", | 5569 | snd_printd("mute LED gpio %d polarity %d\n", |
5562 | spec->gpio_led, | 5570 | spec->gpio_led, |
5563 | spec->gpio_led_polarity); | 5571 | spec->gpio_led_polarity); |