| From d0784829ae3b0beeb69b476f017d5c8a2eb95198 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Mon, 29 Feb 2016 18:01:12 +0100 |
| Subject: ASoC: wm8958: Fix enum ctl accesses in a wrong type |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit d0784829ae3b0beeb69b476f017d5c8a2eb95198 upstream. |
| |
| "MBC Mode", "VSS Mode", "VSS HPF Mode" and "Enhanced EQ Mode" ctls in |
| wm8958 codec driver are enum, while the current driver accesses |
| wrongly via value.integer.value[]. They have to be via |
| value.enumerated.item[] instead. |
| |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/soc/codecs/wm8958-dsp2.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/sound/soc/codecs/wm8958-dsp2.c |
| +++ b/sound/soc/codecs/wm8958-dsp2.c |
| @@ -459,7 +459,7 @@ static int wm8958_put_mbc_enum(struct sn |
| struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); |
| struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); |
| struct wm8994 *control = wm8994->wm8994; |
| - int value = ucontrol->value.integer.value[0]; |
| + int value = ucontrol->value.enumerated.item[0]; |
| int reg; |
| |
| /* Don't allow on the fly reconfiguration */ |
| @@ -549,7 +549,7 @@ static int wm8958_put_vss_enum(struct sn |
| struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); |
| struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); |
| struct wm8994 *control = wm8994->wm8994; |
| - int value = ucontrol->value.integer.value[0]; |
| + int value = ucontrol->value.enumerated.item[0]; |
| int reg; |
| |
| /* Don't allow on the fly reconfiguration */ |
| @@ -582,7 +582,7 @@ static int wm8958_put_vss_hpf_enum(struc |
| struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); |
| struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); |
| struct wm8994 *control = wm8994->wm8994; |
| - int value = ucontrol->value.integer.value[0]; |
| + int value = ucontrol->value.enumerated.item[0]; |
| int reg; |
| |
| /* Don't allow on the fly reconfiguration */ |
| @@ -749,7 +749,7 @@ static int wm8958_put_enh_eq_enum(struct |
| struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); |
| struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec); |
| struct wm8994 *control = wm8994->wm8994; |
| - int value = ucontrol->value.integer.value[0]; |
| + int value = ucontrol->value.enumerated.item[0]; |
| int reg; |
| |
| /* Don't allow on the fly reconfiguration */ |