Re: [PATCH v4 1/4] bitfield: Drop underscores from macro parameters

Yury Norov
2025-10-17T16:37:13Z

On Fri, Oct 17, 2025 at 12:54:09PM +0200, Geert Uytterhoeven wrote:
> There is no need to prefix macro parameters with underscores.
> Remove the underscores.
>
> Suggested-by: David Laight <david.laight.linux@gmail.com>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> v4:
> - Update recently introduced FIELD_MODIFY() macro,
>
> v3:
> - New.
> ---
> include/linux/bitfield.h | 106 +++++++++++++++++++--------------------
> 1 file changed, 53 insertions(+), 53 deletions(-)
>
> diff --git a/include/linux/bitfield.h b/include/linux/bitfield.h
> index 5355f8f806a97974..7ff817bdae19b468 100644
> --- a/include/linux/bitfield.h
> +++ b/include/linux/bitfield.h
> @@ -60,68 +60,68 @@
>
> #define __bf_cast_unsigned(type, x) ((__unsigned_scalar_typeof(type))(x))
>
> -#define __BF_FIELD_CHECK(_mask, _reg, _val, _pfx) \
> +#define __BF_FIELD_CHECK(mask, reg, val, pfx) \
> ({ \
> - BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask), \
> - _pfx "mask is not constant"); \
> - BUILD_BUG_ON_MSG((_mask) == 0, _pfx "mask is zero"); \
> - BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
> - ~((_mask) >> __bf_shf(_mask)) & \
> - (0 + (_val)) : 0, \
> - _pfx "value too large for the field"); \
> - BUILD_BUG_ON_MSG(__bf_cast_unsigned(_mask, _mask) > \
> - __bf_cast_unsigned(_reg, ~0ull), \
> - _pfx "type of reg too small for mask"); \
> - __BUILD_BUG_ON_NOT_POWER_OF_2((_mask) + \
> - (1ULL << __bf_shf(_mask))); \
> + BUILD_BUG_ON_MSG(!__builtin_constant_p(mask), \
> + pfx "mask is not constant"); \
> + BUILD_BUG_ON_MSG((mask) == 0, pfx "mask is zero"); \
> + BUILD_BUG_ON_MSG(__builtin_constant_p(val) ? \
> + ~((mask) >> __bf_shf(mask)) & \
> + (0 + (val)) : 0, \
> + pfx "value too large for the field"); \
> + BUILD_BUG_ON_MSG(__bf_cast_unsigned(mask, mask) > \
> + __bf_cast_unsigned(reg, ~0ull), \
> + pfx "type of reg too small for mask"); \
> + __BUILD_BUG_ON_NOT_POWER_OF_2((mask) + \
> + (1ULL << __bf_shf(mask))); \
> })

Hi Geert,

Thanks for the series!

I agree that underscored parameters are excessive. But fixing them has
a side effect of wiping the history, which is a bad thing.

I would prefer to save a history over following a rule that seemingly
is not written down. Let's keep this untouched for now, and if there
will be a need to move the code, we can drop underscores as well.

Meanwhile you (and David) can propose a corresponding rule in
coding-style.rst and a checkpatch warning. That way we at least will
stop merging a new code of that style.

Thanks,
Yury