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>
This commit is contained in:
Roman Volkov 2014-01-24 16:18:19 +04:00 committed by Clemens Ladisch
parent 70e0d82d5e
commit fc114e9fba
1 changed files with 6 additions and 2 deletions

View File

@ -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;
}