Merge "ASoC: sound: soc: fix incorrect max value"

This commit is contained in:
Linux Build Service Account 2016-09-07 03:21:47 -07:00 committed by Gerrit - the friendly Code Review server
commit f1bc206236

View file

@ -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_sx. No further adjustment is necessary.
*/
uinfo->value.integer.max += mc->min;
return 0;
}