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

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

"DRC Mode" and "EQ Mode" ctls in wm8904 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>

authored by

Takashi Iwai and committed by
Mark Brown
c41a024c 92e963f5

+2 -2
+2 -2
sound/soc/codecs/wm8904.c
··· 396 396 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); 397 397 struct wm8904_priv *wm8904 = snd_soc_codec_get_drvdata(codec); 398 398 struct wm8904_pdata *pdata = wm8904->pdata; 399 - int value = ucontrol->value.integer.value[0]; 399 + int value = ucontrol->value.enumerated.item[0]; 400 400 401 401 if (value >= pdata->num_drc_cfgs) 402 402 return -EINVAL; ··· 467 467 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); 468 468 struct wm8904_priv *wm8904 = snd_soc_codec_get_drvdata(codec); 469 469 struct wm8904_pdata *pdata = wm8904->pdata; 470 - int value = ucontrol->value.integer.value[0]; 470 + int value = ucontrol->value.enumerated.item[0]; 471 471 472 472 if (value >= pdata->num_retune_mobile_cfgs) 473 473 return -EINVAL;