Re: [PATCH v2 4/6] bitops: define const_*() versions of the non-atomics

From: Andy Shevchenko
Date: Fri Jun 10 2022 - 09:58:07 EST


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?

--
With Best Regards,
Andy Shevchenko