mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 16:16:15 -04:00
ASoC: Update the Max value of integer controls
When control value is queried, framework is returning the min value as zero even if min is negative. This change will make sure that frame work will update the max value in cases where min is negative. Change-Id: I4e5c70a659ded61c4094f1622611f82994df86b0 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org> Signed-off-by: Meng Wang <mwang@codeaurora.org>
This commit is contained in:
parent
f9c0b494bb
commit
5c0b877358
1 changed files with 6 additions and 7 deletions
|
|
@ -196,7 +196,10 @@ int snd_soc_info_volsw(struct snd_kcontrol *kcontrol,
|
|||
|
||||
uinfo->count = snd_soc_volsw_is_stereo(mc) ? 2 : 1;
|
||||
uinfo->value.integer.min = 0;
|
||||
uinfo->value.integer.max = platform_max - mc->min;
|
||||
if (uinfo->type == SNDRV_CTL_ELEM_TYPE_INTEGER)
|
||||
uinfo->value.integer.max = platform_max - mc->min;
|
||||
else
|
||||
uinfo->value.integer.max = platform_max;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_info_volsw);
|
||||
|
|
@ -216,15 +219,11 @@ 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;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_info_volsw_sx);
|
||||
|
|
|
|||
Loading…
Reference in a new issue