* Alexander Kuleshov <[email protected]> wrote:
> The arch/x86/include/asm/bitops.h provides IS_IMMEDIATE macro which expands to
> the call of the __builtin_constant_p(). Let's use this macro in the test_bit()
> to be more clear.
>
> Signed-off-by: Alexander Kuleshov <[email protected]>
> ---
> arch/x86/include/asm/bitops.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h
> index cfe3b95..8cfbd2b 100644
> --- a/arch/x86/include/asm/bitops.h
> +++ b/arch/x86/include/asm/bitops.h
> @@ -333,7 +333,7 @@ static int test_bit(int nr, const volatile unsigned long
> *addr);
> #endif
>
> #define test_bit(nr, addr) \
> - (__builtin_constant_p((nr)) \
> + (IS_IMMEDIATE((nr)) \
> ? constant_test_bit((nr), (addr)) \
> : variable_test_bit((nr), (addr)))
Why? In the kernel there's more than 200 uses of __builtin_constant_p(), while
only 6 uses of IS_IMMEDIATE() ...
Thanks,
Ingo