Skip to content

Commit 251d604

Browse files
tiwaibroonie
authored andcommitted
ASoC: wm8985: Fix enum ctl accesses in a wrong type
"Equalizer Function" ctl in wm8985 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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent 92e963f commit 251d604

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

sound/soc/codecs/wm8985.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -531,9 +531,9 @@ static int eqmode_get(struct snd_kcontrol *kcontrol,
531531

532532
reg = snd_soc_read(codec, WM8985_EQ1_LOW_SHELF);
533533
if (reg & WM8985_EQ3DMODE)
534-
ucontrol->value.integer.value[0] = 1;
534+
ucontrol->value.enumerated.item[0] = 1;
535535
else
536-
ucontrol->value.integer.value[0] = 0;
536+
ucontrol->value.enumerated.item[0] = 0;
537537

538538
return 0;
539539
}
@@ -545,18 +545,18 @@ static int eqmode_put(struct snd_kcontrol *kcontrol,
545545
unsigned int regpwr2, regpwr3;
546546
unsigned int reg_eq;
547547

548-
if (ucontrol->value.integer.value[0] != 0
549-
&& ucontrol->value.integer.value[0] != 1)
548+
if (ucontrol->value.enumerated.item[0] != 0
549+
&& ucontrol->value.enumerated.item[0] != 1)
550550
return -EINVAL;
551551

552552
reg_eq = snd_soc_read(codec, WM8985_EQ1_LOW_SHELF);
553553
switch ((reg_eq & WM8985_EQ3DMODE) >> WM8985_EQ3DMODE_SHIFT) {
554554
case 0:
555-
if (!ucontrol->value.integer.value[0])
555+
if (!ucontrol->value.enumerated.item[0])
556556
return 0;
557557
break;
558558
case 1:
559-
if (ucontrol->value.integer.value[0])
559+
if (ucontrol->value.enumerated.item[0])
560560
return 0;
561561
break;
562562
}
@@ -573,7 +573,7 @@ static int eqmode_put(struct snd_kcontrol *kcontrol,
573573
/* set the desired eqmode */
574574
snd_soc_update_bits(codec, WM8985_EQ1_LOW_SHELF,
575575
WM8985_EQ3DMODE_MASK,
576-
ucontrol->value.integer.value[0]
576+
ucontrol->value.enumerated.item[0]
577577
<< WM8985_EQ3DMODE_SHIFT);
578578
/* restore DAC/ADC configuration */
579579
snd_soc_write(codec, WM8985_POWER_MANAGEMENT_2, regpwr2);

0 commit comments

Comments
 (0)