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.
Attachment:
signature.asc
Description: PGP signature