x86: switch 64-bit to generic find_first_bit

Switch x86_64 to generic find_first_bit. The x86_64-specific
implementation is not removed.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Alexander van Heukelum 2008-04-01 17:41:26 +02:00 committed by Ingo Molnar
parent 77b9bd9c49
commit 2aba6925fd
3 changed files with 5 additions and 1 deletions

View File

@ -78,7 +78,7 @@ config GENERIC_BUG
depends on BUG
config GENERIC_FIND_FIRST_BIT
def_bool X86_32
def_bool y
config GENERIC_FIND_NEXT_BIT
def_bool y

View File

@ -1,3 +1,4 @@
#ifndef CONFIG_GENERIC_FIND_FIRST_BIT
#include <linux/bitops.h>
#undef find_first_zero_bit
@ -105,3 +106,4 @@ long find_first_bit(const unsigned long * addr, unsigned long size)
EXPORT_SYMBOL(find_first_bit);
EXPORT_SYMBOL(find_first_zero_bit);
#endif

View File

@ -5,6 +5,7 @@
* Copyright 1992, Linus Torvalds.
*/
#ifndef CONFIG_GENERIC_FIND_FIRST_BIT
extern long find_first_zero_bit(const unsigned long *addr, unsigned long size);
extern long find_first_bit(const unsigned long *addr, unsigned long size);
@ -24,6 +25,7 @@ static inline long __scanbit(unsigned long val, unsigned long max)
((__builtin_constant_p((size)) && (size) <= BITS_PER_LONG \
? (__scanbit(~*(unsigned long *)(addr), (size))) \
: find_first_zero_bit((addr), (size))))
#endif
static inline void set_bit_string(unsigned long *bitmap, unsigned long i,
int len)