From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri, 10 Jun 2022 16:56:28 +0300 > On Fri, Jun 10, 2022 at 01:34:25PM +0200, Alexander Lobakin wrote: > > Define const_*() variants of the non-atomic bitops to be used when > > the input arguments are compile-time constants, so that the compiler > > will be always to resolve those to compile-time constants as well. > > Those are mostly direct aliases for generic_*() with one exception > > for const_test_bit(): the original one is declared atomic-safe and > > thus doesn't discard the `volatile` qualifier, so in order to let > > optimize the code, define it separately disregarding the qualifier. > > Add them to the compile-time type checks as well just in case. > > ... > > > /* Check that the bitops prototypes are sane */ > > #define __check_bitop_pr(name) \ > > - static_assert(__same_type(arch_##name, generic_##name) && \ > > + static_assert(__same_type(const_##name, generic_##name) && \ > > + __same_type(arch_##name, generic_##name) && \ > > __same_type(name, generic_##name)) > > Can't it be a one line change and actually keeping ordering at the same time? Sure. Wanted to sort them "semantically", but it doesn't really make any sense in here. > > -- > With Best Regards, > Andy Shevchenko Thanks, Olek