x86: generic versions of find_first_(zero_)bit, convert i386

Generic versions of __find_first_bit and __find_first_zero_bit
are introduced as simplified versions of __find_next_bit and
__find_next_zero_bit. Their compilation and use are guarded by
a new config variable GENERIC_FIND_FIRST_BIT.

The generic versions of find_first_bit and find_first_zero_bit
are implemented in terms of the newly introduced __find_first_bit
and __find_first_zero_bit.

This patch does not remove the i386-specific implementation,
but it does switch i386 to use the generic functions by setting
GENERIC_FIND_FIRST_BIT=y for X86_32.

Signed-off-by: Alexander van Heukelum <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
Alexander van Heukelum 2008-04-01 11:46:19 +02:00 • committed by Ingo Molnar
commit 77b9bd9c49
5 changed files with 98 additions and 0 deletions

View file

@ -5,6 +5,7 @@
* Copyright 1992, Linus Torvalds.
*/
#ifndef CONFIG_GENERIC_FIND_FIRST_BIT
/**
* find_first_zero_bit - find the first zero bit in a memory region
* @addr: The address to start the search at
@ -59,6 +60,7 @@ static inline unsigned find_first_bit(const unsigned long *addr, unsigned size)
}
return x;
}
#endif
#ifdef __KERNEL__