diff options
Diffstat (limited to 'sound/soc/codecs')
| -rw-r--r-- | sound/soc/codecs/tlv320aic3x.c | 11 | ||||
| -rw-r--r-- | sound/soc/codecs/wm8990.c | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index b47a749c5ea2..aea0cb72d80a 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c | |||
| @@ -165,10 +165,13 @@ static int snd_soc_dapm_put_volsw_aic3x(struct snd_kcontrol *kcontrol, | |||
| 165 | struct snd_ctl_elem_value *ucontrol) | 165 | struct snd_ctl_elem_value *ucontrol) |
| 166 | { | 166 | { |
| 167 | struct snd_soc_dapm_widget *widget = snd_kcontrol_chip(kcontrol); | 167 | struct snd_soc_dapm_widget *widget = snd_kcontrol_chip(kcontrol); |
| 168 | int reg = kcontrol->private_value & 0xff; | 168 | struct soc_mixer_control *mc = |
| 169 | int shift = (kcontrol->private_value >> 8) & 0x0f; | 169 | (struct soc_mixer_control *)kcontrol->private_value; |
| 170 | int mask = (kcontrol->private_value >> 16) & 0xff; | 170 | unsigned int reg = mc->reg; |
| 171 | int invert = (kcontrol->private_value >> 24) & 0x01; | 171 | unsigned int shift = mc->shift; |
| 172 | int max = mc->max; | ||
| 173 | unsigned int mask = (1 << fls(max)) - 1; | ||
| 174 | unsigned int invert = mc->invert; | ||
| 172 | unsigned short val, val_mask; | 175 | unsigned short val, val_mask; |
| 173 | int ret; | 176 | int ret; |
| 174 | struct snd_soc_dapm_path *path; | 177 | struct snd_soc_dapm_path *path; |
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c index 1cbb7b9b51ce..a5731faa150c 100644 --- a/sound/soc/codecs/wm8990.c +++ b/sound/soc/codecs/wm8990.c | |||
| @@ -176,7 +176,9 @@ static int wm899x_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol, | |||
| 176 | struct snd_ctl_elem_value *ucontrol) | 176 | struct snd_ctl_elem_value *ucontrol) |
| 177 | { | 177 | { |
| 178 | struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); | 178 | struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); |
| 179 | int reg = kcontrol->private_value & 0xff; | 179 | struct soc_mixer_control *mc = |
| 180 | (struct soc_mixer_control *)kcontrol->private_value; | ||
| 181 | int reg = mc->reg; | ||
| 180 | int ret; | 182 | int ret; |
| 181 | u16 val; | 183 | u16 val; |
| 182 | 184 | ||
