diff options
author | Alexander van Heukelum <heukelum@mailshack.com> | 2008-04-25 07:12:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-26 13:21:17 -0400 |
commit | 19870def587554c4055df3e74a21508e3647fb7e (patch) | |
tree | d1c483a58e0ec684b8e3678a906dc115ffee5006 | |
parent | f19dcf4a61ea4a3d155acb239348d09cb264f6a0 (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.i386 | 8 | ||||
-rw-r--r-- | arch/um/Kconfig.x86_64 | 8 | ||||
-rw-r--r-- | arch/x86/Kconfig | 6 | ||||
-rw-r--r-- | arch/x86/Kconfig.cpu | 5 | ||||
-rw-r--r-- | lib/Kconfig | 6 |
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 | ||
42 | config GENERIC_FIND_FIRST_BIT | ||
43 | bool | ||
44 | default y | ||
45 | |||
46 | config GENERIC_FIND_NEXT_BIT | ||
47 | bool | ||
48 | default y | ||
49 | |||
50 | config GENERIC_HWEIGHT | 42 | config 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 | ||
37 | config GENERIC_FIND_FIRST_BIT | ||
38 | bool | ||
39 | default y | ||
40 | |||
41 | config GENERIC_FIND_NEXT_BIT | ||
42 | bool | ||
43 | default y | ||
44 | |||
45 | config GENERIC_HWEIGHT | 37 | config 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 | ||
80 | config GENERIC_FIND_FIRST_BIT | ||
81 | def_bool y | ||
82 | |||
83 | config GENERIC_FIND_NEXT_BIT | ||
84 | def_bool y | ||
85 | |||
86 | config GENERIC_HWEIGHT | 80 | config 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 | ||
279 | endchoice | 279 | endchoice |
280 | 280 | ||
281 | config X86_CPU | ||
282 | def_bool y | ||
283 | select GENERIC_FIND_FIRST_BIT | ||
284 | select GENERIC_FIND_NEXT_BIT | ||
285 | |||
281 | config X86_GENERIC | 286 | config 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" | |||
7 | config BITREVERSE | 7 | config BITREVERSE |
8 | tristate | 8 | tristate |
9 | 9 | ||
10 | config GENERIC_FIND_FIRST_BIT | ||
11 | def_bool n | ||
12 | |||
13 | config GENERIC_FIND_NEXT_BIT | ||
14 | def_bool n | ||
15 | |||
10 | config CRC_CCITT | 16 | config CRC_CCITT |
11 | tristate "CRC-CCITT functions" | 17 | tristate "CRC-CCITT functions" |
12 | help | 18 | help |