Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89300b4e authored by Takashi Iwai's avatar Takashi Iwai Committed by Mark Brown
Browse files

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



"PCM channel mixer" ctl in cs42l51 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: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 92e963f5
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -60,15 +60,15 @@ static int cs42l51_get_chan_mix(struct snd_kcontrol *kcontrol,
	switch (value) {
	default:
	case 0:
		ucontrol->value.integer.value[0] = 0;
		ucontrol->value.enumerated.item[0] = 0;
		break;
	/* same value : (L+R)/2 and (R+L)/2 */
	case 1:
	case 2:
		ucontrol->value.integer.value[0] = 1;
		ucontrol->value.enumerated.item[0] = 1;
		break;
	case 3:
		ucontrol->value.integer.value[0] = 2;
		ucontrol->value.enumerated.item[0] = 2;
		break;
	}

@@ -85,7 +85,7 @@ static int cs42l51_set_chan_mix(struct snd_kcontrol *kcontrol,
	struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
	unsigned char val;

	switch (ucontrol->value.integer.value[0]) {
	switch (ucontrol->value.enumerated.item[0]) {
	default:
	case 0:
		val = CHAN_MIX_NORMAL;