Skip to content

Commit b5ab265

Browse files
tiwaibroonie
authored andcommitted
ASoC: wm8983: Fix enum ctl accesses in a wrong type
"Equalizer Function" ctl in wm8983 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 b5ab265

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

sound/soc/codecs/wm8983.c

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

498498
reg = snd_soc_read(codec, WM8983_EQ1_LOW_SHELF);
499499
if (reg & WM8983_EQ3DMODE)
500-
ucontrol->value.integer.value[0] = 1;
500+
ucontrol->value.enumerated.item[0] = 1;
501501
else
502-
ucontrol->value.integer.value[0] = 0;
502+
ucontrol->value.enumerated.item[0] = 0;
503503

504504
return 0;
505505
}
@@ -511,18 +511,18 @@ static int eqmode_put(struct snd_kcontrol *kcontrol,
511511
unsigned int regpwr2, regpwr3;
512512
unsigned int reg_eq;
513513

514-
if (ucontrol->value.integer.value[0] != 0
515-
&& ucontrol->value.integer.value[0] != 1)
514+
if (ucontrol->value.enumerated.item[0] != 0
515+
&& ucontrol->value.enumerated.item[0] != 1)
516516
return -EINVAL;
517517

518518
reg_eq = snd_soc_read(codec, WM8983_EQ1_LOW_SHELF);
519519
switch ((reg_eq & WM8983_EQ3DMODE) >> WM8983_EQ3DMODE_SHIFT) {
520520
case 0:
521-
if (!ucontrol->value.integer.value[0])
521+
if (!ucontrol->value.enumerated.item[0])
522522
return 0;
523523
break;
524524
case 1:
525-
if (ucontrol->value.integer.value[0])
525+
if (ucontrol->value.enumerated.item[0])
526526
return 0;
527527
break;
528528
}
@@ -537,7 +537,7 @@ static int eqmode_put(struct snd_kcontrol *kcontrol,
537537
/* set the desired eqmode */
538538
snd_soc_update_bits(codec, WM8983_EQ1_LOW_SHELF,
539539
WM8983_EQ3DMODE_MASK,
540-
ucontrol->value.integer.value[0]
540+
ucontrol->value.enumerated.item[0]
541541
<< WM8983_EQ3DMODE_SHIFT);
542542
/* restore DAC/ADC configuration */
543543
snd_soc_write(codec, WM8983_POWER_MANAGEMENT_2, regpwr2);

0 commit comments

Comments
 (0)