aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2008-08-25 04:51:27 -0400
committerH. Peter Anvin <hpa@zytor.com>2008-10-23 01:55:23 -0400
commit61bee20445935ee9802d25c261849440497497d3 (patch)
tree481d98b301e248fcd5647c859ecfe9c137d57b0f
parentec82c32d45644998a28abad0a6a9ccdd721a054e (diff)
x86, um: get rid of arch/um/Kconfig.arch
Teach scripts/kconfig/Makefile and top-level Makefile that arch/*/Makefile is allowed to say Kconfig := <whatever I want instead of arch/blah/Kconfig>. Rewrite arch/um/Kconfig and arch/um/Kconfig.<subarch> so that the latter would be top-level one (and include the pieces of the former). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--Makefile2
-rw-r--r--arch/um/Kconfig.common77
-rw-r--r--arch/um/Kconfig.rest42
-rw-r--r--arch/um/Kconfig.um (renamed from arch/um/Kconfig)126
-rw-r--r--arch/um/Kconfig.x8610
-rw-r--r--arch/um/Makefile8
-rw-r--r--scripts/kconfig/Makefile4
7 files changed, 136 insertions, 133 deletions
diff --git a/Makefile b/Makefile
index 16e3fbb968a8..f6703f1cd9c7 100644
--- a/Makefile
+++ b/Makefile
@@ -437,7 +437,7 @@ ifeq ($(config-targets),1)
437# KBUILD_DEFCONFIG may point out an alternative default configuration 437# KBUILD_DEFCONFIG may point out an alternative default configuration
438# used for 'make defconfig' 438# used for 'make defconfig'
439include $(srctree)/arch/$(SRCARCH)/Makefile 439include $(srctree)/arch/$(SRCARCH)/Makefile
440export KBUILD_DEFCONFIG 440export KBUILD_DEFCONFIG KBUILD_KCONFIG
441 441
442config %config: scripts_basic outputmakefile FORCE 442config %config: scripts_basic outputmakefile FORCE
443 $(Q)mkdir -p include/linux include/config 443 $(Q)mkdir -p include/linux include/config
diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common
new file mode 100644
index 000000000000..0d207e73a758
--- /dev/null
+++ b/arch/um/Kconfig.common
@@ -0,0 +1,77 @@
1config DEFCONFIG_LIST
2 string
3 option defconfig_list
4 default "arch/$ARCH/defconfig"
5
6# UML uses the generic IRQ subsystem
7config GENERIC_HARDIRQS
8 bool
9 default y
10
11config UML
12 bool
13 default y
14
15config MMU
16 bool
17 default y
18
19config NO_IOMEM
20 def_bool y
21
22mainmenu "Linux/Usermode Kernel Configuration"
23
24config ISA
25 bool
26
27config SBUS
28 bool
29
30config PCI
31 bool
32
33config PCMCIA
34 bool
35
36# Yet to do!
37config TRACE_IRQFLAGS_SUPPORT
38 bool
39 default n
40
41config LOCKDEP_SUPPORT
42 bool
43 default y
44
45config STACKTRACE_SUPPORT
46 bool
47 default n
48
49config GENERIC_CALIBRATE_DELAY
50 bool
51 default y
52
53config GENERIC_BUG
54 bool
55 default y
56 depends on BUG
57
58config GENERIC_TIME
59 bool
60 default y
61
62config GENERIC_CLOCKEVENTS
63 bool
64 default y
65
66# Used in kernel/irq/manage.c and include/linux/irq.h
67config IRQ_RELEASE_METHOD
68 bool
69 default y
70
71config HZ
72 int
73 default 100
74
75config SUBARCH
76 string
77 option env="SUBARCH"
diff --git a/arch/um/Kconfig.rest b/arch/um/Kconfig.rest
new file mode 100644
index 000000000000..7b5cea75a6c4
--- /dev/null
+++ b/arch/um/Kconfig.rest
@@ -0,0 +1,42 @@
1source "init/Kconfig"
2
3source "kernel/Kconfig.freezer"
4
5source "drivers/block/Kconfig"
6
7source "arch/um/Kconfig.char"
8
9source "drivers/base/Kconfig"
10
11source "net/Kconfig"
12
13source "arch/um/Kconfig.net"
14
15source "drivers/net/Kconfig"
16
17source "drivers/connector/Kconfig"
18
19source "fs/Kconfig"
20
21source "security/Kconfig"
22
23source "crypto/Kconfig"
24
25source "lib/Kconfig"
26
27source "drivers/scsi/Kconfig"
28
29source "drivers/md/Kconfig"
30
31if BROKEN
32 source "drivers/mtd/Kconfig"
33endif
34
35source "drivers/leds/Kconfig"
36
37#This is just to shut up some Kconfig warnings, so no prompt.
38config INPUT
39 bool
40 default n
41
42source "arch/um/Kconfig.debug"
diff --git a/arch/um/Kconfig b/arch/um/Kconfig.um
index a0801fda0be4..ec2b8da1aba4 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig.um
@@ -1,79 +1,3 @@
1config DEFCONFIG_LIST
2 string
3 option defconfig_list
4 default "arch/$ARCH/defconfig"
5
6# UML uses the generic IRQ subsystem
7config GENERIC_HARDIRQS
8 bool
9 default y
10
11config UML
12 bool
13 default y
14
15config MMU
16 bool
17 default y
18
19config NO_IOMEM
20 def_bool y
21
22mainmenu "Linux/Usermode Kernel Configuration"
23
24config ISA
25 bool
26
27config SBUS
28 bool
29
30config PCI
31 bool
32
33config PCMCIA
34 bool
35
36# Yet to do!
37config TRACE_IRQFLAGS_SUPPORT
38 bool
39 default n
40
41config LOCKDEP_SUPPORT
42 bool
43 default y
44
45config STACKTRACE_SUPPORT
46 bool
47 default n
48
49config GENERIC_CALIBRATE_DELAY
50 bool
51 default y
52
53config GENERIC_BUG
54 bool
55 default y
56 depends on BUG
57
58config GENERIC_TIME
59 bool
60 default y
61
62config GENERIC_CLOCKEVENTS
63 bool
64 default y
65
66# Used in kernel/irq/manage.c and include/linux/irq.h
67config IRQ_RELEASE_METHOD
68 bool
69 default y
70
71config HZ
72 int
73 default 100
74
75menu "UML-specific options"
76
77config STATIC_LINK 1config STATIC_LINK
78 bool "Force a static link" 2 bool "Force a static link"
79 default n 3 default n
@@ -85,11 +9,6 @@ config STATIC_LINK
85 Additionally, this option enables using higher memory spaces (up to 9 Additionally, this option enables using higher memory spaces (up to
86 2.75G) for UML. 10 2.75G) for UML.
87 11
88config SUBARCH
89 string
90 option env="SUBARCH"
91
92source "arch/um/Kconfig.arch"
93source "mm/Kconfig" 12source "mm/Kconfig"
94source "kernel/time/Kconfig" 13source "kernel/time/Kconfig"
95 14
@@ -228,48 +147,3 @@ config KERNEL_STACK_ORDER
228 This option determines the size of UML kernel stacks. They will 147 This option determines the size of UML kernel stacks. They will
229 be 1 << order pages. The default is OK unless you're running Valgrind 148 be 1 << order pages. The default is OK unless you're running Valgrind
230 on UML, in which case, set this to 3. 149 on UML, in which case, set this to 3.
231
232endmenu
233
234source "init/Kconfig"
235
236source "kernel/Kconfig.freezer"
237
238source "drivers/block/Kconfig"
239
240source "arch/um/Kconfig.char"
241
242source "drivers/base/Kconfig"
243
244source "net/Kconfig"
245
246source "arch/um/Kconfig.net"
247
248source "drivers/net/Kconfig"
249
250source "drivers/connector/Kconfig"
251
252source "fs/Kconfig"
253
254source "security/Kconfig"
255
256source "crypto/Kconfig"
257
258source "lib/Kconfig"
259
260source "drivers/scsi/Kconfig"
261
262source "drivers/md/Kconfig"
263
264if BROKEN
265 source "drivers/mtd/Kconfig"
266endif
267
268source "drivers/leds/Kconfig"
269
270#This is just to shut up some Kconfig warnings, so no prompt.
271config INPUT
272 bool
273 default n
274
275source "arch/um/Kconfig.debug"
diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86
index 76200c9f454a..5ee328099c63 100644
--- a/arch/um/Kconfig.x86
+++ b/arch/um/Kconfig.x86
@@ -1,3 +1,7 @@
1source "arch/um/Kconfig.common"
2
3menu "UML-specific options"
4
1menu "Host processor type and features" 5menu "Host processor type and features"
2 6
3source "arch/x86/Kconfig.cpu" 7source "arch/x86/Kconfig.cpu"
@@ -44,3 +48,9 @@ config SMP_BROKEN
44 48
45config GENERIC_HWEIGHT 49config GENERIC_HWEIGHT
46 def_bool y 50 def_bool y
51
52source "arch/um/Kconfig.um"
53
54endmenu
55
56source "arch/um/Kconfig.rest"
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 10894405ca75..425b81939619 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -87,11 +87,7 @@ define archhelp
87 echo ' find in the kernel root.' 87 echo ' find in the kernel root.'
88endef 88endef
89 89
90ifneq ($(KBUILD_SRC),) 90KBUILD_KCONFIG := arch/um/Kconfig.$(HEADER_ARCH)
91$(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
92else
93$(shell ln -fsn Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
94endif
95 91
96archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/shared/user_constants.h 92archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/shared/user_constants.h
97prepare: $(ARCH_DIR)/include/shared/kern_constants.h 93prepare: $(ARCH_DIR)/include/shared/kern_constants.h
@@ -128,7 +124,7 @@ endef
128# TT or skas makefiles and don't clean skas_ptregs.h. 124# TT or skas makefiles and don't clean skas_ptregs.h.
129CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/shared/uml-config.h \ 125CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/shared/uml-config.h \
130 $(ARCH_DIR)/include/shared/user_constants.h \ 126 $(ARCH_DIR)/include/shared/user_constants.h \
131 $(ARCH_DIR)/include/shared/kern_constants.h $(ARCH_DIR)/Kconfig.arch 127 $(ARCH_DIR)/include/shared/kern_constants.h
132 128
133MRPROPER_FILES += $(ARCH_SYMLINKS) 129MRPROPER_FILES += $(ARCH_SYMLINKS)
134 130
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index fa1a7d565903..fa8c2dd9c983 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -4,7 +4,11 @@
4 4
5PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config 5PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
6 6
7ifdef KBUILD_KCONFIG
8Kconfig := $(KBUILD_KCONFIG)
9else
7Kconfig := arch/$(SRCARCH)/Kconfig 10Kconfig := arch/$(SRCARCH)/Kconfig
11endif
8 12
9xconfig: $(obj)/qconf 13xconfig: $(obj)/qconf
10 $< $(Kconfig) 14 $< $(Kconfig)