aboutsummaryrefslogtreecommitdiff
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-22 22:55:23 -0700
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 16e3fbb968a..f6703f1cd9c 100644
--- a/Makefile
+++ b/Makefile
@@ -437,7 +437,7 @@ ifeq ($(config-targets),1)
# KBUILD_DEFCONFIG may point out an alternative default configuration
# used for 'make defconfig'
include $(srctree)/arch/$(SRCARCH)/Makefile
-export KBUILD_DEFCONFIG
+export KBUILD_DEFCONFIG KBUILD_KCONFIG
config %config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux include/config
diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common
new file mode 100644
index 00000000000..0d207e73a75
--- /dev/null
+++ b/arch/um/Kconfig.common
@@ -0,0 +1,77 @@
+config DEFCONFIG_LIST
+ string
+ option defconfig_list
+ default "arch/$ARCH/defconfig"
+
+# UML uses the generic IRQ subsystem
+config GENERIC_HARDIRQS
+ bool
+ default y
+
+config UML
+ bool
+ default y
+
+config MMU
+ bool
+ default y
+
+config NO_IOMEM
+ def_bool y
+
+mainmenu "Linux/Usermode Kernel Configuration"
+
+config ISA
+ bool
+
+config SBUS
+ bool
+
+config PCI
+ bool
+
+config PCMCIA
+ bool
+
+# Yet to do!
+config TRACE_IRQFLAGS_SUPPORT
+ bool
+ default n
+
+config LOCKDEP_SUPPORT
+ bool
+ default y
+
+config STACKTRACE_SUPPORT
+ bool
+ default n
+
+config GENERIC_CALIBRATE_DELAY
+ bool
+ default y
+
+config GENERIC_BUG
+ bool
+ default y
+ depends on BUG
+
+config GENERIC_TIME
+ bool
+ default y
+
+config GENERIC_CLOCKEVENTS
+ bool
+ default y
+
+# Used in kernel/irq/manage.c and include/linux/irq.h
+config IRQ_RELEASE_METHOD
+ bool
+ default y
+
+config HZ
+ int
+ default 100
+
+config SUBARCH
+ string
+ option env="SUBARCH"
diff --git a/arch/um/Kconfig.rest b/arch/um/Kconfig.rest
new file mode 100644
index 00000000000..7b5cea75a6c
--- /dev/null
+++ b/arch/um/Kconfig.rest
@@ -0,0 +1,42 @@
+source "init/Kconfig"
+
+source "kernel/Kconfig.freezer"
+
+source "drivers/block/Kconfig"
+
+source "arch/um/Kconfig.char"
+
+source "drivers/base/Kconfig"
+
+source "net/Kconfig"
+
+source "arch/um/Kconfig.net"
+
+source "drivers/net/Kconfig"
+
+source "drivers/connector/Kconfig"
+
+source "fs/Kconfig"
+
+source "security/Kconfig"
+
+source "crypto/Kconfig"
+
+source "lib/Kconfig"
+
+source "drivers/scsi/Kconfig"
+
+source "drivers/md/Kconfig"
+
+if BROKEN
+ source "drivers/mtd/Kconfig"
+endif
+
+source "drivers/leds/Kconfig"
+
+#This is just to shut up some Kconfig warnings, so no prompt.
+config INPUT
+ bool
+ default n
+
+source "arch/um/Kconfig.debug"
diff --git a/arch/um/Kconfig b/arch/um/Kconfig.um
index a0801fda0be..ec2b8da1aba 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig.um
@@ -1,79 +1,3 @@
-config DEFCONFIG_LIST
- string
- option defconfig_list
- default "arch/$ARCH/defconfig"
-
-# UML uses the generic IRQ subsystem
-config GENERIC_HARDIRQS
- bool
- default y
-
-config UML
- bool
- default y
-
-config MMU
- bool
- default y
-
-config NO_IOMEM
- def_bool y
-
-mainmenu "Linux/Usermode Kernel Configuration"
-
-config ISA
- bool
-
-config SBUS
- bool
-
-config PCI
- bool
-
-config PCMCIA
- bool
-
-# Yet to do!
-config TRACE_IRQFLAGS_SUPPORT
- bool
- default n
-
-config LOCKDEP_SUPPORT
- bool
- default y
-
-config STACKTRACE_SUPPORT
- bool
- default n
-
-config GENERIC_CALIBRATE_DELAY
- bool
- default y
-
-config GENERIC_BUG
- bool
- default y
- depends on BUG
-
-config GENERIC_TIME
- bool
- default y
-
-config GENERIC_CLOCKEVENTS
- bool
- default y
-
-# Used in kernel/irq/manage.c and include/linux/irq.h
-config IRQ_RELEASE_METHOD
- bool
- default y
-
-config HZ
- int
- default 100
-
-menu "UML-specific options"
-
config STATIC_LINK
bool "Force a static link"
default n
@@ -85,11 +9,6 @@ config STATIC_LINK
Additionally, this option enables using higher memory spaces (up to
2.75G) for UML.
-config SUBARCH
- string
- option env="SUBARCH"
-
-source "arch/um/Kconfig.arch"
source "mm/Kconfig"
source "kernel/time/Kconfig"
@@ -228,48 +147,3 @@ config KERNEL_STACK_ORDER
This option determines the size of UML kernel stacks. They will
be 1 << order pages. The default is OK unless you're running Valgrind
on UML, in which case, set this to 3.
-
-endmenu
-
-source "init/Kconfig"
-
-source "kernel/Kconfig.freezer"
-
-source "drivers/block/Kconfig"
-
-source "arch/um/Kconfig.char"
-
-source "drivers/base/Kconfig"
-
-source "net/Kconfig"
-
-source "arch/um/Kconfig.net"
-
-source "drivers/net/Kconfig"
-
-source "drivers/connector/Kconfig"
-
-source "fs/Kconfig"
-
-source "security/Kconfig"
-
-source "crypto/Kconfig"
-
-source "lib/Kconfig"
-
-source "drivers/scsi/Kconfig"
-
-source "drivers/md/Kconfig"
-
-if BROKEN
- source "drivers/mtd/Kconfig"
-endif
-
-source "drivers/leds/Kconfig"
-
-#This is just to shut up some Kconfig warnings, so no prompt.
-config INPUT
- bool
- default n
-
-source "arch/um/Kconfig.debug"
diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86
index 76200c9f454..5ee328099c6 100644
--- a/arch/um/Kconfig.x86
+++ b/arch/um/Kconfig.x86
@@ -1,3 +1,7 @@
+source "arch/um/Kconfig.common"
+
+menu "UML-specific options"
+
menu "Host processor type and features"
source "arch/x86/Kconfig.cpu"
@@ -44,3 +48,9 @@ config SMP_BROKEN
config GENERIC_HWEIGHT
def_bool y
+
+source "arch/um/Kconfig.um"
+
+endmenu
+
+source "arch/um/Kconfig.rest"
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 10894405ca7..425b8193961 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -87,11 +87,7 @@ define archhelp
echo ' find in the kernel root.'
endef
-ifneq ($(KBUILD_SRC),)
-$(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
-else
-$(shell ln -fsn Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
-endif
+KBUILD_KCONFIG := arch/um/Kconfig.$(HEADER_ARCH)
archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/shared/user_constants.h
prepare: $(ARCH_DIR)/include/shared/kern_constants.h
@@ -128,7 +124,7 @@ endef
# TT or skas makefiles and don't clean skas_ptregs.h.
CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/shared/uml-config.h \
$(ARCH_DIR)/include/shared/user_constants.h \
- $(ARCH_DIR)/include/shared/kern_constants.h $(ARCH_DIR)/Kconfig.arch
+ $(ARCH_DIR)/include/shared/kern_constants.h
MRPROPER_FILES += $(ARCH_SYMLINKS)
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index fa1a7d56590..fa8c2dd9c98 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -4,7 +4,11 @@
PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
+ifdef KBUILD_KCONFIG
+Kconfig := $(KBUILD_KCONFIG)
+else
Kconfig := arch/$(SRCARCH)/Kconfig
+endif
xconfig: $(obj)/qconf
$< $(Kconfig)