On Mon, 2019-01-07 at 14:11 -0700, Jason Gunthorpe wrote: > There has been some confusion since checkpatch started warning about bool > use in structures, and people have been avoiding using it. > > Many people feel there is still a legitimate place for bool in structures, > so provide some guidance on bool usage derived from the entire thread that > spawned the checkpatch warning. Thanks Jason. It'd be nice to combine this with some better checkpatch warning or even a removal of that misleading warning from checkpatch altogether. With a couple minor nits below and and Ack if you want one: Acked-by: Joe Perches <joe@xxxxxxxxxxx> > diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst [] > @@ -921,7 +921,37 @@ result. Typical examples would be functions that return pointers; they use > NULL or the ERR_PTR mechanism to report failure. > > > -17) Don't re-invent the kernel macros > +17) Using bool > +-------------- > + > +The Linux kernel uses the C99 standard for the bool type. bool values can only Maybe The Linux kernel bool type is the C99 _Bool type. > +evaluate to 0 or 1, and implicit or explicit conversion to bool automatically > +converts the value to true or false. When using bool types the !! construction > +is not needed, which eliminates a class of bugs. > + > +When working with bool values the true and false labels should be used instead true and false are not labels but #defines