From 61bee20445935ee9802d25c261849440497497d3 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Mon, 25 Aug 2008 04:51:27 -0400 Subject: [PATCH] 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 := . Rewrite arch/um/Kconfig and arch/um/Kconfig. so that the latter would be top-level one (and include the pieces of the former). Signed-off-by: Al Viro Signed-off-by: H. Peter Anvin --- Makefile | 2 +- arch/um/Kconfig.common | 77 ++++++++++++++++++++++++ arch/um/Kconfig.rest | 42 ++++++++++++++ arch/um/{Kconfig => Kconfig.um} | 126 ---------------------------------------- arch/um/Kconfig.x86 | 10 ++++ arch/um/Makefile | 8 +-- scripts/kconfig/Makefile | 4 ++ 7 files changed, 136 insertions(+), 133 deletions(-) create mode 100644 arch/um/Kconfig.common create mode 100644 arch/um/Kconfig.rest rename arch/um/{Kconfig => Kconfig.um} (76%) diff --git a/Makefile b/Makefile index 16e3fbb..f6703f1 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 0000000..0d207e7 --- /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 0000000..7b5cea7 --- /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 similarity index 76% rename from arch/um/Kconfig rename to arch/um/Kconfig.um index a0801fd..ec2b8da 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 76200c9..5ee3280 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 1089440..425b819 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 fa1a7d5..fa8c2dd 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) -- 2.7.4