x86, bitops: select the generic bitmap search functions
authorAlexander van Heukelum <heukelum@mailshack.com>
Fri, 25 Apr 2008 11:12:53 +0000 (13:12 +0200)
committerIngo Molnar <mingo@elte.hu>
Sat, 26 Apr 2008 17:21:17 +0000 (19:21 +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 49990ea422e40127518bcd8e19abcd6a638f8e5a..e09edfa560da5c1ec5eb0d40f247d13a5eee29c7 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 cc42e59585d2ca2399bcc85e045113b9c03bfabe..5696e7b374b31904b7559d045b7235b4e25bcf3e 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 700447738e734f1044e88201e507c19ac088f6ea..2fadf794483d1f8dad597c34de6dafb7082b4383 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 cf3ff2c5cef249670e48c944364d711e6c325e3c..7ef18b01f0bca49c4da9ed1ed78b330ab1506da4 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 2d53dc092e8b1670bd26e6e3c6210f01caa54a29..8cc8e8722a3fac4f363125f2009fbf65d50cca58 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