On Sun, 14 May 2017 11:59:45 +0200, 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. thanks, Takashi