summaryrefslogtreecommitdiffstats
path: root/sound/pci/oxygen
diff options
context:
space:
mode:
authorRoman Volkov <v1ron@mail.ru>2014-01-24 13:18:19 +0100
committerClemens Ladisch <clemens@ladisch.de>2014-01-29 20:45:52 +0100
commitfc114e9fbaf555e2d7fbfe144dac716142e22331 (patch)
treee6560f3586d8149d7d15e1a3b20a29cd10e4246e /sound/pci/oxygen
parentALSA: oxygen: Xonar DG(X): modify input select functions (diff)
downloadlinux-fc114e9fbaf555e2d7fbfe144dac716142e22331.tar.xz
linux-fc114e9fbaf555e2d7fbfe144dac716142e22331.zip
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>
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r--sound/pci/oxygen/xonar_dg_mixer.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/oxygen/xonar_dg_mixer.c b/sound/pci/oxygen/xonar_dg_mixer.c
index 41ee39359bd6..dfdfc991f8e6 100644
--- a/sound/pci/oxygen/xonar_dg_mixer.c
+++ b/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;
}