aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander van Heukelum <heukelum@mailshack.com>2008-04-25 07:12:53 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-26 13:21:17 -0400
commit19870def587554c4055df3e74a21508e3647fb7e (patch)
treed1c483a58e0ec684b8e3678a906dc115ffee5006
parentf19dcf4a61ea4a3d155acb239348d09cb264f6a0 (diff)
x86, bitops: select the generic bitmap search functions
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>
-rw-r--r--arch/um/Kconfig.i3868
-rw-r--r--arch/um/Kconfig.x86_648
-rw-r--r--arch/x86/Kconfig6
-rw-r--r--arch/x86/Kconfig.cpu5
-rw-r--r--lib/Kconfig6
5 files changed, 11 insertions, 22 deletions
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386
index 49990ea422e4..e09edfa560da 100644
--- a/arch/um/Kconfig.i386
+++ b/arch/um/Kconfig.i386
@@ -39,14 +39,6 @@ config ARCH_REUSE_HOST_VSYSCALL_AREA
39 bool 39 bool
40 default y 40 default y
41 41
42config GENERIC_FIND_FIRST_BIT
43 bool
44 default y
45
46config GENERIC_FIND_NEXT_BIT
47 bool
48 default y
49
50config GENERIC_HWEIGHT 42config GENERIC_HWEIGHT
51 bool 43 bool
52 default y 44 default y
diff --git a/arch/um/Kconfig.x86_64 b/arch/um/Kconfig.x86_64
index cc42e59585d2..5696e7b374b3 100644
--- a/arch/um/Kconfig.x86_64
+++ b/arch/um/Kconfig.x86_64
@@ -34,14 +34,6 @@ config SMP_BROKEN
34 bool 34 bool
35 default y 35 default y
36 36
37config GENERIC_FIND_FIRST_BIT
38 bool
39 default y
40
41config GENERIC_FIND_NEXT_BIT
42 bool
43 default y
44
45config GENERIC_HWEIGHT 37config GENERIC_HWEIGHT
46 bool 38 bool
47 default y 39 default y
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 700447738e73..2fadf794483d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -77,12 +77,6 @@ config GENERIC_BUG
77 def_bool y 77 def_bool y
78 depends on BUG 78 depends on BUG
79 79
80config GENERIC_FIND_FIRST_BIT
81 def_bool y
82
83config GENERIC_FIND_NEXT_BIT
84 def_bool y
85
86config GENERIC_HWEIGHT 80config GENERIC_HWEIGHT
87 def_bool y 81 def_bool y
88 82
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index cf3ff2c5cef2..7ef18b01f0bc 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -278,6 +278,11 @@ config GENERIC_CPU
278 278
279endchoice 279endchoice
280 280
281config X86_CPU
282 def_bool y
283 select GENERIC_FIND_FIRST_BIT
284 select GENERIC_FIND_NEXT_BIT
285
281config X86_GENERIC 286config X86_GENERIC
282 bool "Generic x86 support" 287 bool "Generic x86 support"
283 depends on X86_32 288 depends on X86_32
diff --git a/lib/Kconfig b/lib/Kconfig
index 2d53dc092e8b..8cc8e8722a3f 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -7,6 +7,12 @@ menu "Library routines"
7config BITREVERSE 7config BITREVERSE
8 tristate 8 tristate
9 9
10config GENERIC_FIND_FIRST_BIT
11 def_bool n
12
13config GENERIC_FIND_NEXT_BIT
14 def_bool n
15
10config CRC_CCITT 16config CRC_CCITT
11 tristate "CRC-CCITT functions" 17 tristate "CRC-CCITT functions"
12 help 18 help