aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_via.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index bab6c04932aa..0baeecc2213c 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -238,7 +238,9 @@ static int via_pin_power_ctl_get(struct snd_kcontrol *kcontrol,
238 struct snd_ctl_elem_value *ucontrol) 238 struct snd_ctl_elem_value *ucontrol)
239{ 239{
240 struct hda_codec *codec = snd_kcontrol_chip(kcontrol); 240 struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
241 ucontrol->value.enumerated.item[0] = codec->power_save_node; 241 struct via_spec *spec = codec->spec;
242
243 ucontrol->value.enumerated.item[0] = spec->gen.power_down_unused;
242 return 0; 244 return 0;
243} 245}
244 246
@@ -249,9 +251,9 @@ static int via_pin_power_ctl_put(struct snd_kcontrol *kcontrol,
249 struct via_spec *spec = codec->spec; 251 struct via_spec *spec = codec->spec;
250 bool val = !!ucontrol->value.enumerated.item[0]; 252 bool val = !!ucontrol->value.enumerated.item[0];
251 253
252 if (val == codec->power_save_node) 254 if (val == spec->gen.power_down_unused)
253 return 0; 255 return 0;
254 codec->power_save_node = val; 256 /* codec->power_save_node = val; */ /* widget PM seems yet broken */
255 spec->gen.power_down_unused = val; 257 spec->gen.power_down_unused = val;
256 analog_low_current_mode(codec); 258 analog_low_current_mode(codec);
257 return 1; 259 return 1;