Am 30.03.23 um 12:42 schrieb Jani Nikula:
is_power_of_2() only works for types <= sizeof(unsigned long) and it's also not a constant expression. There are a number of places in kernel where is_power_of_2() is called on u64, which fails on 32-bit builds. Try to remedy that. While at it, make it a constant expression when possible. I admit I've only lightly tested this, and I haven't tried it with allmodconfig.
Looks good to me from a one mile high level pov. But I'm really not an expert on that type of compiler magic, so only:
Acked-by: Christian König <christian.koenig@xxxxxxx> for the series. Regards, Christian.
Jani Nikula (4): log2: add helper __IS_POWER_OF_2() log2: have is_power_of_2() support bigger types than unsigned long log2: allow use of is_power_of_2() in constant expressions drm/i915/reg: use is_power_of_2() from log2.h drivers/gpu/drm/i915/i915_reg_defs.h | 7 +------ include/linux/log2.h | 25 ++++++++++++++++++++----- 2 files changed, 21 insertions(+), 11 deletions(-)