ASoC: pxa: magician: Fix enum ctl accesses in a wrong type

"Input Select" ctl in magician driver is an enum, while the current
driver accesses wrongly via value.integer.value[].  They have to be
via value.enumerated.item[] instead.

(Meanwhile "Headphone Switch" and "Speaker Switch" are boolean, so
 they should stay to access via value.integer.value[] as is.)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Takashi Iwai 2016-02-29 17:23:50 +01:00 committed by Mark Brown
parent 1457ad0e99
commit 127ee199d5

View file

@ -308,17 +308,17 @@ static int magician_set_spk(struct snd_kcontrol *kcontrol,
static int magician_get_input(struct snd_kcontrol *kcontrol, static int magician_get_input(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
ucontrol->value.integer.value[0] = magician_in_sel; ucontrol->value.enumerated.item[0] = magician_in_sel;
return 0; return 0;
} }
static int magician_set_input(struct snd_kcontrol *kcontrol, static int magician_set_input(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
if (magician_in_sel == ucontrol->value.integer.value[0]) if (magician_in_sel == ucontrol->value.enumerated.item[0])
return 0; return 0;
magician_in_sel = ucontrol->value.integer.value[0]; magician_in_sel = ucontrol->value.enumerated.item[0];
switch (magician_in_sel) { switch (magician_in_sel) {
case MAGICIAN_MIC: case MAGICIAN_MIC: