x86, bitops: select the generic bitmap search functions
Alexander van Heukelum [Fri, 25 Apr 2008 11:12:53 +0000 (13:12 +0200)]
Introduce GENERIC_FIND_FIRST_BIT and GENERIC_FIND_NEXT_BIT in
lib/Kconfig, defaulting to off. An arch that wants to use the
generic implementation now only has to use a select statement
to include them.

I added an always-y option (X86_CPU) to arch/x86/Kconfig.cpu
and used that to select the generic search functions. This
way ARCH=um SUBARCH=i386 automatically picks up the change
too, and arch/um/Kconfig.i386 can therefore be simplified a
bit. ARCH=um SUBARCH=x86_64 does things differently, but
still compiles fine. It seems that a "def_bool y" always
wins over a "def_bool n"?

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

arch/um/Kconfig.i386
arch/um/Kconfig.x86_64
arch/x86/Kconfig
arch/x86/Kconfig.cpu
lib/Kconfig

index 49990ea..e09edfa 100644 (file)
@@ -39,14 +39,6 @@ config ARCH_REUSE_HOST_VSYSCALL_AREA
        bool
        default y
 
-config GENERIC_FIND_FIRST_BIT
-       bool
-       default y
-
-config GENERIC_FIND_NEXT_BIT
-       bool
-       default y
-
 config GENERIC_HWEIGHT
        bool
        default y
index cc42e59..5696e7b 100644 (file)
@@ -34,14 +34,6 @@ config SMP_BROKEN
        bool
        default y
 
-config GENERIC_FIND_FIRST_BIT
-       bool
-       default y
-
-config GENERIC_FIND_NEXT_BIT
-       bool
-       default y
-
 config GENERIC_HWEIGHT
        bool
        default y
index 7004477..2fadf79 100644 (file)
@@ -77,12 +77,6 @@ config GENERIC_BUG
        def_bool y
        depends on BUG
 
-config GENERIC_FIND_FIRST_BIT
-       def_bool y
-
-config GENERIC_FIND_NEXT_BIT
-       def_bool y
-
 config GENERIC_HWEIGHT
        def_bool y
 
index cf3ff2c..7ef18b0 100644 (file)
@@ -278,6 +278,11 @@ config GENERIC_CPU
 
 endchoice
 
+config X86_CPU
+       def_bool y
+       select GENERIC_FIND_FIRST_BIT
+       select GENERIC_FIND_NEXT_BIT
+
 config X86_GENERIC
        bool "Generic x86 support"
        depends on X86_32
index 2d53dc0..8cc8e87 100644 (file)
@@ -7,6 +7,12 @@ menu "Library routines"
 config BITREVERSE
        tristate
 
+config GENERIC_FIND_FIRST_BIT
+       def_bool n
+
+config GENERIC_FIND_NEXT_BIT
+       def_bool n
+
 config CRC_CCITT
        tristate "CRC-CCITT functions"
        help