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>
This commit is contained in:
Al Viro 2008-08-25 04:51:27 -04:00 committed by H. Peter Anvin
parent ec82c32d45
commit 61bee20445
7 changed files with 136 additions and 133 deletions

View file

@ -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
arch/um/Kconfig.common Normal file
View file

@ -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
arch/um/Kconfig.rest Normal file
View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -87,11 +87,7 @@ define archhelp
echo ' find in the kernel root.' echo ' find in the kernel root.'
endef endef
ifneq ($(KBUILD_SRC),) KBUILD_KCONFIG := arch/um/Kconfig.$(HEADER_ARCH)
$(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
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)

View file

@ -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)