On Wed, Dec 17, 2025 at 10:31:55PM +0000, David Laight wrote:
> On Wed, 17 Dec 2025 10:26:18 +0000
> Jonathan Cameron <jonathan.cameron@huawei.com> wrote:
>
> > On Fri, 12 Dec 2025 19:37:13 +0000
> > david.laight.linux@gmail.com wrote:
> >
> > > From: David Laight <david.laight.linux@gmail.com>
...
> > > ---
> > > @@ -75,8 +59,8 @@
> > > })
> > >
> > > #define __BF_FIELD_CHECK_REG(mask, reg, pfx) \
> > > - BUILD_BUG_ON_MSG(__bf_cast_unsigned(mask, mask) > \
> > > - __bf_cast_unsigned(reg, ~0ull), \
> > > + BUILD_BUG_ON_MSG((mask) + 0U + 0UL + 0ULL > \
> > > + ~0ULL >> (64 - 8 * sizeof (reg)), \
> >
> > Trivial. sizeof(reg) is much more comment syntax in kernel code.
> (common)
>
> Hmm. sizeof is an operator not a function.
> Its argument is either a variable/expression or a bracketed type
> (I don't usually put variables in brackets).
> So 'sizeof(reg)' is nearly as bad as 'return(reg)'.
Please re-read Documentation/process/coding-style.rst:
3.1) Spaces
***********
Linux kernel style for use of spaces depends (mostly) on
function-versus-keyword usage. Use a space after (most) keywords. The
notable exceptions are sizeof, typeof, alignof, and __attribute__, which look
somewhat like functions (and are usually used with parentheses in Linux,
although they are not required in the language, as in: ``sizeof info`` after
``struct fileinfo info;`` is declared).
So use a space after these keywords::
if, switch, case, for, do, while
but not with sizeof, typeof, alignof, or __attribute__. E.g.,
.. code-block:: c
s = sizeof(struct file);
Do not add spaces around (inside) parenthesized expressions. This example is
**bad**:
.. code-block:: c
s = sizeof( struct file );