diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-03-20 18:11:05 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-03-20 18:30:48 +0100 |
commit | 6b275b140094b701f7ad15272f0597e9d954e5e4 (patch) | |
tree | 7275155df0eb7b0783521830fcbba083a6171cb1 /sound/pci/hda/patch_sigmatel.c | |
parent | fc0daafeb4acf70839db5baf8ec4b861fff3efef (diff) | |
download | linux-6b275b140094b701f7ad15272f0597e9d954e5e4.tar.gz linux-6b275b140094b701f7ad15272f0597e9d954e5e4.tar.bz2 linux-6b275b140094b701f7ad15272f0597e9d954e5e4.zip |
ALSA: hda - Fix power of pins used for mute LED with vrefs
Some pins are used for controlling the LED with the VREF value.
This patch changes the power behavior of such pins to be constantly
up. A new state, pin_fixed, is introduced to nid_path to indicate
that the path contains the fixed pin. This improves also the
readability a bit for other static routes, too.
Then a helper function snd_hda_gen_fix_pin_power() is called from the
codec driver for such fixed pins, and it will create fake paths
containing only these pins with pin_fixed=1 flag.
Reported-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 86b944a6b0ed..7e531d5cde51 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -4225,6 +4225,12 @@ static int stac_parse_auto_config(struct hda_codec *codec) if (err < 0) return err; + if (spec->vref_mute_led_nid) { + err = snd_hda_gen_fix_pin_power(codec, spec->vref_mute_led_nid); + if (err < 0) + return err; + } + /* setup analog beep controls */ if (spec->anabeep_nid > 0) { err = stac_auto_create_beep_ctls(codec, |