Messages in this thread | | | Date | Fri, 17 Jun 2022 15:50:17 +0000 | From | Charles Keepax <> | Subject | Re: [PATCH v1] ASoC: ops: Fix integer detection for when max possible values > 1 |
| |
On Fri, Jun 17, 2022 at 04:36:06PM +0100, Stefan Binding wrote: > The standard snd_soc_info_volsw() allows a two value control to be > defined as an integer control only if the control name ends in > "Volume". It achieves this by creating a substring if it contains > " Volume", and ensuring this exists at the end of the name. The > volume substring is then used to decide whether the type is a > SNDRV_CTL_ELEM_TYPE_INTEGER or SNDRV_CTL_ELEM_TYPE_BOOLEAN. > However this volume substring is only computed for a two value > control. > This means for controls where there are more than two possible > values, the substring is never created, so in this case the > substring remains NULL, and the condition yields > SNDRV_CTL_ELEM_TYPE_BOOLEAN, even though there are more than 2 > possible values. > If there are more than 2 possible values for the control, > then it should always be an integer control. > > Fixes: aa2a4b897132 ("ASoC: ops: Fix boolean/integer detection for simple controls") > > Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> > ---
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Thanks, Charles
| |