浏览代码

ALSA: oxygen: Xonar DG(X): modify high-pass filter control

Change the 'put' function of the high-pass filter control to use the new
SPI functions.

Signed-off-by: Roman Volkov <v1ron@mail.ru>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Roman Volkov 11 年之前
父节点
当前提交
fc114e9fba
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      sound/pci/oxygen/xonar_dg_mixer.c

+ 6 - 2
sound/pci/oxygen/xonar_dg_mixer.c

@@ -325,6 +325,8 @@ static int input_sel_put(struct snd_kcontrol *ctl,
 	return changed;
 }
 
+/* ADC high-pass filter */
+
 static int hpf_info(struct snd_kcontrol *ctl, struct snd_ctl_elem_info *info)
 {
 	static const char *const names[2] = { "Active", "Frozen" };
@@ -354,8 +356,10 @@ static int hpf_put(struct snd_kcontrol *ctl, struct snd_ctl_elem_value *value)
 	if (value->value.enumerated.item[0])
 		reg |= CS4245_HPF_FREEZE;
 	changed = reg != data->cs4245_shadow[CS4245_ADC_CTRL];
-	if (changed)
-		cs4245_write(chip, CS4245_ADC_CTRL, reg);
+	if (changed) {
+		data->cs4245_shadow[CS4245_ADC_CTRL] = reg;
+		cs4245_write_spi(chip, CS4245_ADC_CTRL);
+	}
 	mutex_unlock(&chip->mutex);
 	return changed;
 }