Browse Source

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>
Al Viro 16 years ago
parent
commit
61bee20445
7 changed files with 136 additions and 133 deletions
  1. 1 1
      Makefile
  2. 77 0
      arch/um/Kconfig.common
  3. 42 0
      arch/um/Kconfig.rest
  4. 0 126
      arch/um/Kconfig.um
  5. 10 0
      arch/um/Kconfig.x86
  6. 2 6
      arch/um/Makefile
  7. 4 0
      scripts/kconfig/Makefile

+ 1 - 1
Makefile

@@ -437,7 +437,7 @@ ifeq ($(config-targets),1)
 # KBUILD_DEFCONFIG may point out an alternative default configuration
 # KBUILD_DEFCONFIG may point out an alternative default configuration
 # used for 'make defconfig'
 # used for 'make defconfig'
 include $(srctree)/arch/$(SRCARCH)/Makefile
 include $(srctree)/arch/$(SRCARCH)/Makefile
-export KBUILD_DEFCONFIG
+export KBUILD_DEFCONFIG KBUILD_KCONFIG
 
 
 config %config: scripts_basic outputmakefile FORCE
 config %config: scripts_basic outputmakefile FORCE
 	$(Q)mkdir -p include/linux include/config
 	$(Q)mkdir -p include/linux include/config

+ 77 - 0
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"

+ 42 - 0
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"

+ 0 - 126
arch/um/Kconfig → 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
 config STATIC_LINK
 	bool "Force a static link"
 	bool "Force a static link"
 	default n
 	default n
@@ -85,11 +9,6 @@ config STATIC_LINK
 	  Additionally, this option enables using higher memory spaces (up to
 	  Additionally, this option enables using higher memory spaces (up to
 	  2.75G) for UML.
 	  2.75G) for UML.
 
 
-config SUBARCH
-	string
-	option env="SUBARCH"
-
-source "arch/um/Kconfig.arch"
 source "mm/Kconfig"
 source "mm/Kconfig"
 source "kernel/time/Kconfig"
 source "kernel/time/Kconfig"
 
 
@@ -228,48 +147,3 @@ config KERNEL_STACK_ORDER
 	  This option determines the size of UML kernel stacks.  They will
 	  This option determines the size of UML kernel stacks.  They will
 	  be 1 << order pages.  The default is OK unless you're running Valgrind
 	  be 1 << order pages.  The default is OK unless you're running Valgrind
 	  on UML, in which case, set this to 3.
 	  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"

+ 10 - 0
arch/um/Kconfig.x86

@@ -1,3 +1,7 @@
+source "arch/um/Kconfig.common"
+
+menu "UML-specific options"
+
 menu "Host processor type and features"
 menu "Host processor type and features"
 
 
 source "arch/x86/Kconfig.cpu"
 source "arch/x86/Kconfig.cpu"
@@ -44,3 +48,9 @@ config SMP_BROKEN
 
 
 config GENERIC_HWEIGHT
 config GENERIC_HWEIGHT
 	def_bool y
 	def_bool y
+
+source "arch/um/Kconfig.um"
+
+endmenu
+
+source "arch/um/Kconfig.rest"

+ 2 - 6
arch/um/Makefile

@@ -87,11 +87,7 @@ define archhelp
   echo '		   find in the kernel root.'
   echo '		   find in the kernel root.'
 endef
 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
 archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/shared/user_constants.h
 prepare: $(ARCH_DIR)/include/shared/kern_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.
 # 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 \
 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/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)
 MRPROPER_FILES += $(ARCH_SYMLINKS)
 
 

+ 4 - 0
scripts/kconfig/Makefile

@@ -4,7 +4,11 @@
 
 
 PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
 PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
 
 
+ifdef KBUILD_KCONFIG
+Kconfig := $(KBUILD_KCONFIG)
+else
 Kconfig := arch/$(SRCARCH)/Kconfig
 Kconfig := arch/$(SRCARCH)/Kconfig
+endif
 
 
 xconfig: $(obj)/qconf
 xconfig: $(obj)/qconf
 	$< $(Kconfig)
 	$< $(Kconfig)