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:
parent
1457ad0e99
commit
127ee199d5
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue