Re: [PATCH trivial] include/linux/memblock.h: Clean up code for several trivial details

From: Joe Perches
Date: Mon May 30 2016 - 10:34:04 EST


On Mon, 2016-05-30 at 22:21 +0800, Chen Gang wrote:
> On 5/29/16 23:08, Joe Perches wrote:
> > On Sun, 2016-05-29 at 22:36 +0800, chengang@xxxxxxxxxxxxxxxx wrote:
> > > Use "!!" to let the boolean function return boolean value directly.
> > []
> > > diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> > []
> > > @@ -191,12 +190,12 @@ static inline bool movable_node_is_enabled(void)
> > >  static inline bool memblock_is_mirror(struct memblock_region *m)
> > >  {
> > > - return m->flags & MEMBLOCK_MIRROR;
> > > + return !!(m->flags & MEMBLOCK_MIRROR);
> > These !! uses are't necessary.
> > The compiler makes the bool return 0 or 1.
> No, they are not necessary. But for me, it will be more clearer, since
> in our kernel (at least in include/linux/), almost all Boolean functions
> use Boolean value or expression for return (and "!!" are often used).

Opinions vary.

There seem to be fewer than 20 !! uses in bool return
functions in include/linux/

Finding the quantity of bool conversions in include/linux
from something other than 0, 1, true, or false to 0 or 1
is not trivial, but it is non-zero and seems rather more
than 20.