diff options
author | Roman Volkov <v1ron@mail.ru> | 2014-01-24 16:18:19 +0400 |
---|---|---|
committer | Clemens Ladisch <clemens@ladisch.de> | 2014-01-29 20:45:52 +0100 |
commit | fc114e9fbaf555e2d7fbfe144dac716142e22331 (patch) | |
tree | e6560f3586d8149d7d15e1a3b20a29cd10e4246e /sound | |
parent | 70e0d82d5e5d65e96f56ced3de97221fdf62cf38 (diff) | |
download | lwn-fc114e9fbaf555e2d7fbfe144dac716142e22331.tar.gz lwn-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')
-rw-r--r-- | sound/pci/oxygen/xonar_dg_mixer.c | 8 |
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; } |