|
@@ -241,7 +241,9 @@ static int via_pin_power_ctl_get(struct snd_kcontrol *kcontrol,
|
|
|
struct snd_ctl_elem_value *ucontrol)
|
|
|
{
|
|
|
struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
|
|
|
- ucontrol->value.enumerated.item[0] = codec->power_save_node;
|
|
|
+ struct via_spec *spec = codec->spec;
|
|
|
+
|
|
|
+ ucontrol->value.enumerated.item[0] = spec->gen.power_down_unused;
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -252,9 +254,9 @@ static int via_pin_power_ctl_put(struct snd_kcontrol *kcontrol,
|
|
|
struct via_spec *spec = codec->spec;
|
|
|
bool val = !!ucontrol->value.enumerated.item[0];
|
|
|
|
|
|
- if (val == codec->power_save_node)
|
|
|
+ if (val == spec->gen.power_down_unused)
|
|
|
return 0;
|
|
|
- codec->power_save_node = val;
|
|
|
+ /* codec->power_save_node = val; */ /* widget PM seems yet broken */
|
|
|
spec->gen.power_down_unused = val;
|
|
|
analog_low_current_mode(codec);
|
|
|
return 1;
|