[alsa-devel] [PATCH 2/4] ASoC: codecs: msm8916: fix invalid cast to bool type

Takashi Iwai tiwai at suse.de
Mon May 15 10:43:52 CEST 2017


On Mon, 15 May 2017 10:17:48 +0200,
Mark Brown wrote:
> 
> On Mon, May 15, 2017 at 10:14:28AM +0200, Takashi Iwai wrote:
> > Mark Brown wrote:
> 
> > > On Tue, May 02, 2017 at 10:33:01PM +0900, Takashi Sakamoto wrote:
> 
> > > > This commit fixes this bug by using unsigned int type, instead of bool.
> > > > This bug is detected by sparse:
> > > 
> > > > smsm8916-wcd-analog.c:809:43: warning: odd constant _Bool cast (40 becomes 1)
> > > > smsm8916-wcd-analog.c:814:43: warning: odd constant _Bool cast (40 becomes 1)
> 
> > > This looks like a bug in sparse - the use of integers in a boolean
> > > context is totally valid and especially the fact that it is claiming
> > > there is a cast when clearly there is no cast is an obvious red flag, at
> > > the very least the message it reports is bogus.
> 
> > Well, the function pm8916_wcd_analog_parse_dt() assigns a non-boolean
> > value (BIT(6)) to a boolean field, and the value is supposed to be
> > kept and passed to snd_soc_update_bits(), instead of dealing as a
> > boolean.  It looks rather like a buggy code to me.
> 
> The code is buggy (which is why I applied the patch) but the error
> message is talking about casts that simply aren't there which is also
> buggy.

It's still better than TeX :)


Takashi


More information about the Alsa-devel mailing list