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

Commit 191daad2 authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: sound: soc: fix incorrect max value" into msm-4.8

parents 5b0883f6 0d873de9
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@ int snd_soc_info_volsw(struct snd_kcontrol *kcontrol,

	uinfo->count = snd_soc_volsw_is_stereo(mc) ? 2 : 1;
	uinfo->value.integer.min = 0;
	if (mc->min < 0 && (uinfo->type == SNDRV_CTL_ELEM_TYPE_INTEGER))
	if (uinfo->type == SNDRV_CTL_ELEM_TYPE_INTEGER)
		uinfo->value.integer.max = platform_max - mc->min;
	else
		uinfo->value.integer.max = platform_max;
@@ -224,14 +224,12 @@ EXPORT_SYMBOL_GPL(snd_soc_info_volsw);
int snd_soc_info_volsw_sx(struct snd_kcontrol *kcontrol,
			  struct snd_ctl_elem_info *uinfo)
{
	struct soc_mixer_control *mc =
		(struct soc_mixer_control *)kcontrol->private_value;

	snd_soc_info_volsw(kcontrol, uinfo);
	/* Max represents the number of levels in an SX control not the
	 * maximum value, so add the minimum value back on
	 * maximum value.
	 * uinfo->value.integer.max is set to number of levels
	 * in snd_soc_info_volsw. No further adjustment is necessary.
	 */
	uinfo->value.integer.max += mc->min;

	return 0;
}