Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: wm8753: Fix enum ctl accesses in a wrong type

"DAI Mode" ctl in wm8753 codec driver is 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>

authored by

Takashi Iwai and committed by
Mark Brown
0cad1053 92e963f5

+3 -3
+3 -3
sound/soc/codecs/wm8753.c
··· 233 233 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); 234 234 struct wm8753_priv *wm8753 = snd_soc_codec_get_drvdata(codec); 235 235 236 - ucontrol->value.integer.value[0] = wm8753->dai_func; 236 + ucontrol->value.enumerated.item[0] = wm8753->dai_func; 237 237 return 0; 238 238 } 239 239 ··· 244 244 struct wm8753_priv *wm8753 = snd_soc_codec_get_drvdata(codec); 245 245 u16 ioctl; 246 246 247 - if (wm8753->dai_func == ucontrol->value.integer.value[0]) 247 + if (wm8753->dai_func == ucontrol->value.enumerated.item[0]) 248 248 return 0; 249 249 250 250 if (snd_soc_codec_is_active(codec)) ··· 252 252 253 253 ioctl = snd_soc_read(codec, WM8753_IOCTL); 254 254 255 - wm8753->dai_func = ucontrol->value.integer.value[0]; 255 + wm8753->dai_func = ucontrol->value.enumerated.item[0]; 256 256 257 257 if (((ioctl >> 2) & 0x3) == wm8753->dai_func) 258 258 return 1;