diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_via.c | 8 |
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; |