diff options
Diffstat (limited to 'sound/soc/codecs/max9759.c')
| -rw-r--r-- | sound/soc/codecs/max9759.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sound/soc/codecs/max9759.c b/sound/soc/codecs/max9759.c index d75fd61b9032..9760543f2922 100644 --- a/sound/soc/codecs/max9759.c +++ b/sound/soc/codecs/max9759.c @@ -42,7 +42,7 @@ static const DECLARE_TLV_DB_SCALE(speaker_gain_tlv, 600, 600, 0); static int speaker_gain_control_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol); + struct snd_soc_component *c = snd_kcontrol_chip(kcontrol); struct max9759 *priv = snd_soc_component_get_drvdata(c); ucontrol->value.integer.value[0] = priv->gain; @@ -61,10 +61,11 @@ static const bool speaker_gain_table[4][2] = { static int speaker_gain_control_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol); + struct snd_soc_component *c = snd_kcontrol_chip(kcontrol); struct max9759 *priv = snd_soc_component_get_drvdata(c); - if (ucontrol->value.integer.value[0] > 3) + if (ucontrol->value.integer.value[0] < 0 || + ucontrol->value.integer.value[0] > 3) return -EINVAL; priv->gain = ucontrol->value.integer.value[0]; @@ -82,7 +83,7 @@ static int speaker_gain_control_put(struct snd_kcontrol *kcontrol, static int speaker_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol); + struct snd_soc_component *c = snd_kcontrol_chip(kcontrol); struct max9759 *priv = snd_soc_component_get_drvdata(c); ucontrol->value.integer.value[0] = !priv->is_mute; @@ -93,7 +94,7 @@ static int speaker_mute_get(struct snd_kcontrol *kcontrol, static int speaker_mute_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { - struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol); + struct snd_soc_component *c = snd_kcontrol_chip(kcontrol); struct max9759 *priv = snd_soc_component_get_drvdata(c); priv->is_mute = !ucontrol->value.integer.value[0]; |
