On Thu. 5 Dec 2024 at 04:00, David Laight <David.Laight@xxxxxxxxxx> wrote: > From: Vincent Mailhol > > Sent: 02 December 2024 17:34 > > > > Most of the use of __is_const_expr() in i915_reg_defs.h are just to > > test whether an expression is known to be true. Because those checks > > are all done in a BUILD_BUG_ON_ZERO(), replace those with > > is_const_true(). > > Another place that could use statically_true() and BUILD_BUG_ON_MSG(). Here also, BUILD_BUG_ON_MSG() is not suitable because it does not return a value. __BUILD_BUG_ON_ZERO_MSG() could be used; but there is less benefit to do this at a driver scope. In this i915_reg_defs.h, BUILD_BUG_ON_ZERO() is used 20 times. Adding an error message each time will just make things ugly. If we want more readable error messages here, the solution for me is just to redefine BUILD_BUG_ON_ZERO() to print a more meaningful error message by default. But this is not the scope of this series. I sent a separate patch for this: https://lore.kernel.org/all/20241205151316.1480255-2-mailhol.vincent@xxxxxxxxxx/ Concerning statically_true() instead of is_const_true(), let me test, and if this works, then I will replace these in v2. Yours sincerely, Vincent Mailhol