Index: Makefile
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/Makefile,v
retrieving revision 1.1.1.44
diff -u -p -r1.1.1.44 Makefile
--- Makefile	16 Oct 2002 19:38:52 -0000	1.1.1.44
+++ Makefile	16 Oct 2002 23:00:47 -0000
@@ -44,7 +44,9 @@
 TOPDIR	:= $(CURDIR)
 
 HOSTCC  	= gcc
+HOSTCXX  	= g++
 HOSTCFLAGS	= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+HOSTCXXFLAGS	= -O2
 
 CROSS_COMPILE 	=
 
@@ -161,7 +163,8 @@
 
 export	VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
 	CONFIG_SHELL TOPDIR HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
-	CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS PERL
+	CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS PERL \
+	HOSTCXX HOSTCXXFLAGS
 
 export CPPFLAGS NOSTDINC_FLAGS OBJCOPYFLAGS LDFLAGS
 export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE 
@@ -237,21 +240,7 @@
 
 #	In this section, we need .config
 
-#	If .config doesn't exist - tough luck
-
-.config: arch/$(ARCH)/config.in # FIXME $(shell find . -name Config.in)
-	@echo '***'
-	@if [ -f $@ ]; then \
-	  echo '*** The tree was updated, so your .config may be'; \
-	  echo '*** out of date!'; \
-	else \
-	  echo '*** You have not yet configured your kernel!'; \
-	fi
-	@echo '***'
-	@echo '*** Please run some configurator (e.g. "make oldconfig" or'
-	@echo '*** "make menuconfig" or "make xconfig").'
-	@echo '***'
-	@exit 1
+-include ..config.cmd
 
 ifdef CONFIG_MODULES
 export EXPORT_FLAGS := -DEXPORT_SYMTAB
@@ -419,11 +408,8 @@
 # 	with it and forgot to run make oldconfig
 
 include/linux/autoconf.h: .config
-	@echo '***'
-	@echo '*** You changed .config w/o running make *config?'
-	@echo '*** Please run "make oldconfig"'
-	@echo '***'
-	@exit 1
+	+@$(call descend,scripts/kconfig,scripts/kconfig/conf)
+	./scripts/kconfig/conf -s arch/$(ARCH)/Kconfig
 
 # Generate some files
 # ---------------------------------------------------------------------------
@@ -637,34 +623,36 @@
 .PHONY: oldconfig xconfig menuconfig config \
 	make_with_config
 
-xconfig:
-	+@$(call descend,scripts,scripts/kconfig.tk)
-	wish -f scripts/kconfig.tk
+scripts/kconfig/conf scripts/kconfig/mconf scripts/kconfig/qconf: scripts/fixdep FORCE
+	+@$(call descend,scripts/kconfig,$@)
+
+xconfig: scripts/kconfig/qconf
+	./scripts/kconfig/qconf arch/$(ARCH)/Kconfig
 
-menuconfig:
-	+@$(call descend,scripts,lxdialog)
-	$(CONFIG_SHELL) $(src)/scripts/Menuconfig arch/$(ARCH)/config.in
+menuconfig: scripts/kconfig/mconf
+	+@$(call descend,scripts/lxdialog,)
+	./scripts/kconfig/mconf arch/$(ARCH)/Kconfig
 
-config:
-	$(CONFIG_SHELL) $(src)/scripts/Configure arch/$(ARCH)/config.in
+config: scripts/kconfig/conf
+	./scripts/kconfig/conf arch/$(ARCH)/Kconfig
 
-oldconfig:
-	$(CONFIG_SHELL) $(src)/scripts/Configure -d arch/$(ARCH)/config.in
+oldconfig: scripts/kconfig/conf
+	./scripts/kconfig/conf -o arch/$(ARCH)/Kconfig
 
-randconfig:
-	$(CONFIG_SHELL) $(src)/scripts/Configure -r arch/$(ARCH)/config.in
+randconfig: scripts/kconfig/conf
+	./scripts/kconfig/conf -r arch/$(ARCH)/Kconfig
 
-allyesconfig:
-	$(CONFIG_SHELL) $(src)/scripts/Configure -y arch/$(ARCH)/config.in
+allyesconfig: scripts/kconfig/conf
+	./scripts/kconfig/conf -y arch/$(ARCH)/Kconfig
 
-allnoconfig:
-	$(CONFIG_SHELL) $(src)/scripts/Configure -n arch/$(ARCH)/config.in
+allnoconfig: scripts/kconfig/conf
+	./scripts/kconfig/conf -n arch/$(ARCH)/Kconfig
 
-allmodconfig:
-	$(CONFIG_SHELL) $(src)/scripts/Configure -m arch/$(ARCH)/config.in
+allmodconfig: scripts/kconfig/conf
+	./scripts/kconfig/conf -m arch/$(ARCH)/Kconfig
 
-defconfig:
-	yes '' | $(CONFIG_SHELL) $(src)/scripts/Configure -d arch/$(ARCH)/config.in
+defconfig: scripts/kconfig/conf
+	./scripts/kconfig/conf -d arch/$(ARCH)/Kconfig
 
 ###
 # Cleaning is done on three levels.
Index: Rules.make
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/Rules.make,v
retrieving revision 1.1.1.22
diff -u -p -r1.1.1.22 Rules.make
--- Rules.make	12 Oct 2002 11:42:02 -0000	1.1.1.22
+++ Rules.make	16 Oct 2002 23:00:49 -0000
@@ -114,9 +114,33 @@
 # Only build module versions for files which are selected to be built
 export-objs := $(filter $(export-objs),$(real-objs-y) $(real-objs-m))
 
-host-progs-single     := $(foreach m,$(host-progs),$(if $($(m)-objs),,$(m)))
-host-progs-multi      := $(foreach m,$(host-progs),$(if $($(m)-objs),$(m)))
-host-progs-multi-objs := $(foreach m,$(host-progs-multi),$($(m)-objs))
+# C code
+# Executables compiled from a single .c file
+host-csingle	:= $(foreach m,$(host-progs),$(if $($(m)-objs),,$(m)))
+
+# C executables linked based on several .o files
+host-cmulti	:= $(foreach m,$(host-progs),\
+		   $(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m))))
+
+# Object (.o) files compiled from .c files
+host-cobjs	:= $(sort $(foreach m,$(host-progs),$($(m)-objs)))
+
+# C++ code
+# C++ executables compiled from at least on .cc file
+# and zero or more .c files
+host-cxxmulti	:= $(foreach m,$(host-progs),$(if $($(m)-cxxobjs),$(m)))
+
+# C++ Object (.o) files compiled from .cc files
+host-cxxobjs	:= $(sort $(foreach m,$(host-cxxmulti),$($(m)-cxxobjs)))
+
+# Shared libaries (only .c supported)
+# Shared libraries (.so) - all .so files referenced in "xxx-objs"
+host-cshlib	:= $(sort $(filter %.so, $(host-cobjs)))
+# Remove .so files from "xxx-objs"
+host-cobjs	:= $(filter-out %.so,$(host-cobjs))
+
+#Object (.o) files used by the shared libaries
+host-cshobjs	:= $(sort $(foreach m,$(host-cshlib),$($(m:.so=-objs))))
 
 # Add subdir path
 
@@ -134,10 +158,14 @@
 subdir-ym	:= $(addprefix $(obj)/,$(subdir-ym))
 subdir-ymn	:= $(addprefix $(obj)/,$(subdir-ymn))
 clean-files	:= $(addprefix $(obj)/,$(clean-files))
-host-progs	:= $(addprefix $(obj)/,$(host-progs))
-host-progs-single     := $(addprefix $(obj)/,$(host-progs-single))
-host-progs-multi      := $(addprefix $(obj)/,$(host-progs-multi))
-host-progs-multi-objs := $(addprefix $(obj)/,$(host-progs-multi-objs))
+host-progs      := $(addprefix $(obj)/,$(host-progs))
+host-csingle	:= $(addprefix $(obj)/,$(host-csingle))
+host-cmulti	:= $(addprefix $(obj)/,$(host-cmulti))
+host-cobjs	:= $(addprefix $(obj)/,$(host-cobjs))
+host-cxxmulti	:= $(addprefix $(obj)/,$(host-cxxmulti))
+host-cxxobjs	:= $(addprefix $(obj)/,$(host-cxxobjs))
+host-cshlib	:= $(addprefix $(obj)/,$(host-cshlib))
+host-cshobjs	:= $(addprefix $(obj)/,$(host-cshobjs))
 
 # The temporary file to save gcc -MD generated dependencies must not
 # contain a comma
@@ -423,30 +451,96 @@
 
 # Compile programs on the host
 # ===========================================================================
+# host-progs := bin2hex
+# Will compile bin2hex.c and create an executable named bin2hex
+#
+# host-progs    := lxdialog
+# lxdialog-objs := checklist.o lxdialog.o
+# Will compile lxdialog.c and checklist.c, and then link the executable
+# lxdialog, based on checklist.o and lxdialog.o
+#
+# host-progs      := qconf
+# qconf-cxxobjs   := qconf.o
+# qconf-objs      := menu.o
+# Will compile qconf as a C++ program, and menu as a C program.
+# They are linked as C++ code to the executable qconf
+
+# host-progs := conf
+# conf-objs  := conf.o libkconfig.so
+# libkconfig-objs := expr.o type.o
+# Will create a shared library named libkconfig.so that consist of
+# expr.o and type.o (they are both compiled as C code and the object file
+# are made as position independent code).
+# conf.c is compiled as a c program, and conf.o is linked together with
+# libkconfig.so as the executable conf.
+# Note: Shared libraries consisting of C++ files are not supported  
+#
+
+# Create executable from a single .c file
+# host-csingle -> Executable
+quiet_cmd_host-csingle 	= HOSTCC  $(echo_target)
+      cmd_host-csingle	= $(HOSTCC) -Wp,-MD,$(depfile) \
+			  $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \
+			  $(HOST_LOADLIBES) -o $@ $<
+$(host-csingle): %: %.c FORCE
+	$(call if_changed_dep,host-csingle)
+
+# Link an executable based on list of .o files, all plain c
+# host-cmulti -> executable
+quiet_cmd_host-cmulti	= HOSTLD  $(echo_target)
+      cmd_host-cmulti	= $(HOSTCC) $(HOSTLDFLAGS) -o $@ \
+			  $(addprefix $(obj)/,$($(@F)-objs)) \
+			  $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
+$(host-cmulti): %: $(host-cobjs) $(host-cshlib) FORCE
+	$(call if_changed,host-cmulti)
+
+# Create .o file from a single .c file
+# host-cobjs -> .o
+quiet_cmd_host-cobjs	= HOSTCC  $(echo_target)
+      cmd_host-cobjs	= $(HOSTCC) -Wp,-MD,$(depfile) \
+			  $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \
+			  $(HOSTCFLAGS_$(@F)) -c -o $@ $<
+$(host-cobjs): %.o: %.c FORCE
+	$(call if_changed_dep,host-cobjs)
+
+# Link an executable based on list of .o files, a mixture of .c and .cc
+# host-cxxmulti -> executable
+quiet_cmd_host-cxxmulti	= HOSTLD  $(echo_target)
+      cmd_host-cxxmulti	= $(HOSTCXX) $(HOSTLDFLAGS) -o $@ \
+			  $(foreach o,objs cxxobjs,\
+			  $(addprefix $(obj)/,$($(@F)-$(o)))) \
+			  $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
+$(host-cxxmulti): %: $(host-cobjs) $(host-cxxobjs) $(host-cshlib) FORCE
+	$(call if_changed,host-cxxmulti)
+
+# Create .o file from a single .cc (C++) file
+quiet_cmd_host-cxxobjs	= HOSTCXX $(echo_target)
+      cmd_host-cxxobjs	= $(HOSTCXX) -Wp,-MD,$(depfile) \
+			  $(HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \
+			  $(HOSTCXXFLAGS_$(@F)) -c -o $@ $<
+$(host-cxxobjs): %.o: %.cc FORCE
+	$(call if_changed_dep,host-cxxobjs)
+
+# Compile .c file, create position independent .o file
+# host-cshobjs -> .o
+quiet_cmd_host-cshobjs	= HOSTCC  -fPIC $(echo_target)
+      cmd_host-cshobjs	= $(HOSTCC) -Wp,-MD,$(depfile) -fPIC\
+			  $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \
+			  $(HOSTCFLAGS_$(@F)) -c -o $@ $<
+$(host-cshobjs): %.o: %.c FORCE
+	$(call if_changed_dep,host-cshobjs)
+
+# Link a shared library, based on position independent .o files
+# *.o -> .so shared library (host-cshlib)
+quiet_cmd_host-cshlib	= HOSTLLD -shared $(echo_target)
+      cmd_host-cshlib	= $(HOSTCC) $(HOSTLDFLAGS) -shared -o $@ \
+			  $(addprefix $(obj)/,$($(@F:.so=-objs))) \
+			  $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
+$(host-cshlib): %: $(host-cshobjs) FORCE
+	$(call if_changed,host-cshlib)
 
-quiet_cmd_host_cc__c  = HOSTCC  $(echo_target)
-cmd_host_cc__c        = $(HOSTCC) -Wp,-MD,$(depfile) \
-			$(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \
-			$(HOST_LOADLIBES) -o $@ $<
-
-$(host-progs-single): %: %.c FORCE
-	$(call if_changed_dep,host_cc__c)
-
-quiet_cmd_host_cc_o_c = HOSTCC  $(echo_target)
-cmd_host_cc_o_c       = $(HOSTCC) -Wp,-MD,$(depfile) \
-			$(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
-
-$(host-progs-multi-objs): %.o: %.c FORCE
-	$(call if_changed_dep,host_cc_o_c)
-
-quiet_cmd_host_cc__o  = HOSTLD  $(echo_target)
-cmd_host_cc__o        = $(HOSTCC) $(HOSTLDFLAGS) -o $@ $(addprefix $(obj)/,$($(subst $(obj)/,,$@)-objs)) \
-			$(HOST_LOADLIBES)
-
-$(host-progs-multi): %: $(host-progs-multi-objs) FORCE
-	$(call if_changed,host_cc__o)
-
-targets += $(host-progs-single) $(host-progs-multi-objs) $(host-progs-multi) 
+targets += $(host-csingle)  $(host-cmulti) $(host-cobjs)\
+	   $(host-cxxmulti) $(host-cxxobjs) $(host-cshlib) $(host-cshobjs) 
 
 endif # ! subdirclean
 endif # ! modules_install
Index: arch/alpha/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/alpha/config.in,v
retrieving revision 1.1.1.16
diff -u -p -r1.1.1.16 config.in
--- arch/alpha/config.in	12 Oct 2002 11:50:40 -0000	1.1.1.16
+++ arch/alpha/config.in	16 Oct 2002 23:00:53 -0000
@@ -19,11 +19,11 @@ choice 'Alpha system type' \
 	 Alcor/Alpha-XLT	CONFIG_ALPHA_ALCOR		\
 	 Alpha-XL		CONFIG_ALPHA_XL			\
 	 AlphaBook1		CONFIG_ALPHA_BOOK1		\
-	 Avanti			CONFIG_ALPHA_AVANTI		\
+	 Avanti			CONFIG_ALPHA_AVANTI_CH		\
 	 Cabriolet		CONFIG_ALPHA_CABRIOLET		\
 	 DP264			CONFIG_ALPHA_DP264		\
 	 EB164			CONFIG_ALPHA_EB164		\
-	 EB64+			CONFIG_ALPHA_EB64P		\
+	 EB64+			CONFIG_ALPHA_EB64P_CH		\
 	 EB66			CONFIG_ALPHA_EB66		\
 	 EB66+			CONFIG_ALPHA_EB66P		\
 	 Eiger			CONFIG_ALPHA_EIGER		\
@@ -32,7 +32,7 @@ choice 'Alpha system type' \
 	 Miata			CONFIG_ALPHA_MIATA		\
 	 Mikasa			CONFIG_ALPHA_MIKASA		\
 	 Nautilus		CONFIG_ALPHA_NAUTILUS		\
-	 Noname			CONFIG_ALPHA_NONAME		\
+	 Noname			CONFIG_ALPHA_NONAME_CH		\
 	 Noritake		CONFIG_ALPHA_NORITAKE		\
 	 PC164			CONFIG_ALPHA_PC164		\
 	 Platform2000		CONFIG_ALPHA_P2K		\
@@ -69,7 +69,7 @@ else
 	define_bool CONFIG_PCI y
 fi
 
-if [ "$CONFIG_ALPHA_BOOK1" = "y" ]
+if [ "$CONFIG_ALPHA_BOOK1" = "y" -o "$CONFIG_ALPHA_NONAME_CH" = "y" ]
 then
 	define_bool CONFIG_ALPHA_NONAME y
 fi
@@ -79,13 +79,13 @@ then
 	define_bool CONFIG_ALPHA_EV4 y
 	define_bool CONFIG_ALPHA_LCA y
 fi
-if [ "$CONFIG_ALPHA_CABRIOLET" = "y" -o "$CONFIG_ALPHA_AVANTI" = "y" \
-	-o "$CONFIG_ALPHA_EB64P" = "y" -o "$CONFIG_ALPHA_XL" = "y" ]
+if [ "$CONFIG_ALPHA_CABRIOLET" = "y" -o "$CONFIG_ALPHA_AVANTI_CH" = "y" \
+	-o "$CONFIG_ALPHA_EB64P_CH" = "y" -o "$CONFIG_ALPHA_XL" = "y" ]
 then
 	define_bool CONFIG_ALPHA_EV4 y
 	define_bool CONFIG_ALPHA_APECS y
 fi
-if [ "$CONFIG_ALPHA_CABRIOLET" = "y" ]
+if [ "$CONFIG_ALPHA_CABRIOLET" = "y" -o "$CONFIG_ALPHA_EB64P_CH" = "y" ]
 then
 	define_bool CONFIG_ALPHA_EB64P y
 fi
@@ -198,7 +198,7 @@ if [ "$CONFIG_ALPHA_JENSEN" = "y" -o "$C
 then
 	define_bool CONFIG_ALPHA_SRM y
 fi
-if [ "$CONFIG_ALPHA_CABRIOLET" = "y" -o "$CONFIG_ALPHA_AVANTI" = "y" \
+if [ "$CONFIG_ALPHA_CABRIOLET" = "y" -o "$CONFIG_ALPHA_AVANTI_CH" = "y" \
 	-o "$CONFIG_ALPHA_EB64P" = "y" 	-o "$CONFIG_ALPHA_PC164" = "y" \
 	-o "$CONFIG_ALPHA_TAKARA" = "y" -o "$CONFIG_ALPHA_EB164" = "y" \
 	-o "$CONFIG_ALPHA_ALCOR" = "y"  -o "$CONFIG_ALPHA_MIATA" = "y" \
@@ -214,7 +214,7 @@ if [ "$CONFIG_ALPHA_ALCOR" = "y" -o "$CO
 then
 	define_bool CONFIG_ALPHA_EISA y
 fi
-if [ "$CONFIG_ALPHA_XL" = "y" ]
+if [ "$CONFIG_ALPHA_XL" = "y" -o "$CONFIG_ALPHA_AVANTI_CH" = "y" ]
 then
 	define_bool CONFIG_ALPHA_AVANTI y
 fi
@@ -253,7 +253,7 @@ bool 'Support for hot-pluggable devices'
 if [ "$CONFIG_HOTPLUG" = "y" ] ; then
    source drivers/pcmcia/Config.in
 else
-   define_bool CONFIG_PCMCIA n
+   define_tristate CONFIG_PCMCIA n
 fi
 
 if [ "$CONFIG_PROC_FS" = "y" ]; then
@@ -306,9 +306,9 @@ if [ "$CONFIG_SCSI" != "n" ]; then
 fi
 endmenu
 
-if [ "$CONFIG_PCI" = "y" ]; then
+#if [ "$CONFIG_PCI" = "y" ]; then
   source drivers/message/fusion/Config.in
-fi
+#fi
 
 if [ "$CONFIG_NET" = "y" ]; then
   source net/Config.in
@@ -399,3 +399,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/arm/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/arm/config.in,v
retrieving revision 1.1.1.17
diff -u -p -r1.1.1.17 config.in
--- arch/arm/config.in	16 Oct 2002 19:45:13 -0000	1.1.1.17
+++ arch/arm/config.in	16 Oct 2002 23:00:54 -0000
@@ -356,7 +356,7 @@ bool 'Support for hot-pluggable devices'
 if [ "$CONFIG_HOTPLUG" = "y" ]; then
    source drivers/pcmcia/Config.in
 else
-   define_bool CONFIG_PCMCIA n
+   define_tristate CONFIG_PCMCIA n
 fi
 comment 'At least one math emulation must be selected'
 tristate 'NWFPE math emulation' CONFIG_FPE_NWFPE
@@ -416,10 +416,11 @@ endmenu
 
 source drivers/parport/Config.in
 
-if [ "$CONFIG_ALIGNMENT_TRAP" = "y" ]; then
+#if [ "$CONFIG_ALIGNMENT_TRAP" = "y" ]; then
   source drivers/mtd/Config.in
-else
-  define_bool CONFIG_MTD n
+#else
+if [ "$CONFIG_ALIGNMENT_TRAP" != "y" ]; then
+  define_tristate CONFIG_MTD n
 fi
 
 source drivers/pnp/Config.in
@@ -442,10 +443,11 @@ if [ "$CONFIG_NET" = "y" ]; then
    fi
    endmenu
 
-   source net/ax25/Config.in
+#   source net/ax25/Config.in
 
    source net/irda/Config.in
 fi
+   source net/ax25/Config.in
 
 mainmenu_option next_comment
 comment 'ATA/ATAPI/MFM/RLL support'
@@ -469,9 +471,9 @@ if [ "$CONFIG_SCSI" != "n" ]; then
 fi
 endmenu
 
-if [ "$CONFIG_ARCH_CLPS711X" = "y" ]; then
-   source drivers/ssi/Config.in
-fi
+#if [ "$CONFIG_ARCH_CLPS711X" = "y" ]; then
+#   source drivers/ssi/Config.in
+#fi
 
 source drivers/ieee1394/Config.in
 
@@ -554,3 +556,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/cris/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/cris/config.in,v
retrieving revision 1.1.1.8
diff -u -p -r1.1.1.8 config.in
--- arch/cris/config.in	27 Aug 2002 23:44:08 -0000	1.1.1.8
+++ arch/cris/config.in	16 Oct 2002 23:00:57 -0000
@@ -230,3 +230,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/cris/drivers/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/cris/drivers/Config.in,v
retrieving revision 1.1.1.3
diff -u -p -r1.1.1.3 Config.in
--- arch/cris/drivers/Config.in	25 May 2002 16:26:27 -0000	1.1.1.3
+++ arch/cris/drivers/Config.in	16 Oct 2002 23:00:57 -0000
@@ -111,11 +111,11 @@ if [ "$CONFIG_ETRAX_IDE" = "y" ]; then
 # general ide drivers so the common case does not need to go
 # into that config submenu. enable disk and CD support. others
 # need to go fiddle in the submenu..
-	define_bool CONFIG_IDE y
+	define_tristate CONFIG_IDE y
 
-	define_bool CONFIG_BLK_DEV_IDE y
-	define_bool CONFIG_BLK_DEV_IDEDISK y
-	define_bool CONFIG_BLK_DEV_IDECD y
+	define_tristate CONFIG_BLK_DEV_IDE y
+	define_tristate CONFIG_BLK_DEV_IDEDISK y
+	define_tristate CONFIG_BLK_DEV_IDECD y
 
 	define_bool CONFIG_BLK_DEV_IDEDMA y
 	
@@ -127,7 +127,7 @@ if [ "$CONFIG_ETRAX_IDE" = "y" ]; then
 	 Port_CSE1_Bit_16  CONFIG_ETRAX_IDE_CSE1_16_RESET\
 	 Port_CSP0_Bit_08   CONFIG_ETRAX_IDE_CSP0_8_RESET"  Port_PB_Bit_7
 else
-	define_bool CONFIG_IDE n
+	define_tristate CONFIG_IDE n
 fi
 
 bool 'Axis flash-map support' CONFIG_ETRAX_AXISFLASHMAP
@@ -136,17 +136,17 @@ if [ "$CONFIG_ETRAX_AXISFLASHMAP" = "y" 
         int  '  Byte-offset of partition table sector' CONFIG_ETRAX_PTABLE_SECTOR 65536
 # here we define the CONFIG_'s necessary to enable MTD support
 # for the flash
-	define_bool CONFIG_MTD y
+	define_tristate CONFIG_MTD y
 
-	define_bool CONFIG_MTD_CFI y
-	define_bool CONFIG_MTD_CFI_INTELEXT n
-	define_bool CONFIG_MTD_CFI_AMDSTD y
+	define_tristate CONFIG_MTD_CFI y
+	define_tristate CONFIG_MTD_CFI_INTELEXT n
+	define_tristate CONFIG_MTD_CFI_AMDSTD y
 
-	define_bool CONFIG_MTD_AMDSTD y
+	define_tristate CONFIG_MTD_AMDSTD y
 
-	define_bool CONFIG_MTD_CHAR y
-	define_bool CONFIG_MTD_BLOCK y
-	define_bool CONFIG_MTD_PARTITIONS y
+	define_tristate CONFIG_MTD_CHAR y
+	define_tristate CONFIG_MTD_BLOCK y
+	define_tristate CONFIG_MTD_PARTITIONS y
 fi
 
 bool 'I2C support' CONFIG_ETRAX_I2C
@@ -182,11 +182,11 @@ fi
 
 bool 'USB host' CONFIG_ETRAX_USB_HOST
 if [ "$CONFIG_ETRAX_USB_HOST" = "y" ]; then
-	define_bool CONFIG_USB y
+	define_tristate CONFIG_USB y
 	bool '  USB port 1 enabled' CONFIG_ETRAX_USB_HOST_PORT1
 	bool '  USB port 2 enabled' CONFIG_ETRAX_USB_HOST_PORT2
 else
-	define_bool CONFIG_USB n
+	define_tristate CONFIG_USB n
 fi
 
 bool 'DS1302 Real Time Clock support' CONFIG_ETRAX_DS1302
Index: arch/i386/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/i386/config.in,v
retrieving revision 1.1.1.28
diff -u -p -r1.1.1.28 config.in
--- arch/i386/config.in	16 Oct 2002 19:44:19 -0000	1.1.1.28
+++ arch/i386/config.in	16 Oct 2002 23:00:59 -0000
@@ -185,6 +185,7 @@ else
         fi
      fi
   fi
+  define_bool CONFIG_X86_UP_APIC y
 fi
 
 bool 'Machine Check Exception' CONFIG_X86_MCE
@@ -313,8 +314,8 @@ if [ "$CONFIG_HOTPLUG" = "y" ] ; then
    source drivers/pcmcia/Config.in
    source drivers/hotplug/Config.in
 else
-   define_bool CONFIG_PCMCIA n
-   define_bool CONFIG_HOTPLUG_PCI n
+   define_tristate CONFIG_PCMCIA n
+   define_tristate CONFIG_HOTPLUG_PCI n
 fi
 
 endmenu
@@ -423,10 +424,10 @@ if [ "$CONFIG_VT" = "y" ]; then
    comment 'Console drivers'
    bool 'VGA text console' CONFIG_VGA_CONSOLE
    bool 'Video mode selection support' CONFIG_VIDEO_SELECT
-   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+   #if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
       tristate 'MDA text console (dual-headed) (EXPERIMENTAL)' CONFIG_MDA_CONSOLE
       source drivers/video/Config.in
-   fi
+   #fi
    endmenu
 fi
 
@@ -480,3 +481,4 @@ if [ "$CONFIG_SMP" = "y" ]; then
 fi
 
 define_bool CONFIG_X86_BIOS_REBOOT y
+source config.undef
Index: arch/ia64/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/ia64/config.in,v
retrieving revision 1.1.1.16
diff -u -p -r1.1.1.16 config.in
--- arch/ia64/config.in	12 Oct 2002 11:52:18 -0000	1.1.1.16
+++ arch/ia64/config.in	16 Oct 2002 23:01:01 -0000
@@ -28,17 +28,27 @@ choice 'IA-64 system type'					\
 
 if [ "$CONFIG_ITANIUM" = "y" ]; then
   choice 'Kernel page size'						\
-	"4KB			CONFIG_IA64_PAGE_SIZE_4KB		\
-	 8KB			CONFIG_IA64_PAGE_SIZE_8KB		\
-	 16KB			CONFIG_IA64_PAGE_SIZE_16KB" 16KB
+	"4KB			CONFIG_IA64_PAGE_SIZE_4KB_1		\
+	 8KB			CONFIG_IA64_PAGE_SIZE_8KB_1		\
+	 16KB			CONFIG_IA64_PAGE_SIZE_16KB_1" 16KB
 else
   choice 'Kernel page size'						\
-	"4KB			CONFIG_IA64_PAGE_SIZE_4KB		\
-	 8KB			CONFIG_IA64_PAGE_SIZE_8KB		\
-	 16KB			CONFIG_IA64_PAGE_SIZE_16KB		\
+	"4KB			CONFIG_IA64_PAGE_SIZE_4KB_2		\
+	 8KB			CONFIG_IA64_PAGE_SIZE_8KB_2		\
+	 16KB			CONFIG_IA64_PAGE_SIZE_16KB_2		\
 	 64KB			CONFIG_IA64_PAGE_SIZE_64KB" 16KB
 fi
 
+if [ "$CONFIG_IA64_PAGE_SIZE_4KB_1" = "y" -o "$CONFIG_IA64_PAGE_SIZE_4KB_2" = "y" ]; then
+  define_bool CONFIG_IA64_PAGE_SIZE_4KB y
+fi
+if [ "$CONFIG_IA64_PAGE_SIZE_8KB_1" = "y" -o "$CONFIG_IA64_PAGE_SIZE_8KB_2" = "y" ]; then
+  define_bool CONFIG_IA64_PAGE_SIZE_8KB y
+fi
+if [ "$CONFIG_IA64_PAGE_SIZE_16KB_1" = "y" -o "$CONFIG_IA64_PAGE_SIZE_16KB_2" = "y" ]; then
+  define_bool CONFIG_IA64_PAGE_SIZE_16KB y
+fi
+
 if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
   define_bool CONFIG_ACPI y
   define_bool CONFIG_ACPI_EFI y
@@ -64,7 +74,7 @@ if [ "$CONFIG_MCKINLEY" = "y" ]; then
 	fi
 fi
 
-if [ "$CONFIG_IA64_GENERIC" = "y" -o "$CONFIG_IA64_DIG" = "y" -o "$CONFIG_IA64_HP_ZX1" = "y" ];
+if [ "$CONFIG_IA64_GENERIC" = "y" -o "$CONFIG_IA64_DIG" = "y" -o "$CONFIG_IA64_HP_ZX1" = "y" ]
 then
 	bool '  Enable IA-64 Machine Check Abort' CONFIG_IA64_MCA
 	define_bool CONFIG_PM y
@@ -95,23 +105,42 @@ if [ "$CONFIG_HUGETLB_PAGE" = "y" ]; the
 	if [ "$CONFIG_MCKINLEY" = "y" ]; then
 		choice '    IA-64 Huge TLB Page Size'				\
 		 	"4GB           CONFIG_HUGETLB_PAGE_SIZE_4GB		\
-		 	256MB          CONFIG_HUGETLB_PAGE_SIZE_256MB		\
-			64MB           CONFIG_HUGETLB_PAGE_SIZE_64MB		\
-			16MB           CONFIG_HUGETLB_PAGE_SIZE_16MB		\
-			4MB            CONFIG_HUGETLB_PAGE_SIZE_4MB		\
-			1MB            CONFIG_HUGETLB_PAGE_SIZE_1MB		\
-			256KB          CONFIG_HUGETLB_PAGE_SIZE_256KB" 16MB
+		 	256MB          CONFIG_HUGETLB_PAGE_SIZE_256MB_1		\
+			64MB           CONFIG_HUGETLB_PAGE_SIZE_64MB_1		\
+			16MB           CONFIG_HUGETLB_PAGE_SIZE_16MB_1		\
+			4MB            CONFIG_HUGETLB_PAGE_SIZE_4MB_1		\
+			1MB            CONFIG_HUGETLB_PAGE_SIZE_1MB_1		\
+			256KB          CONFIG_HUGETLB_PAGE_SIZE_256KB_1" 16MB
 	else
 		choice '    IA-64 Huge TLB Page Size'				\
-		 	"256MB         CONFIG_HUGETLB_PAGE_SIZE_256MB		\
-			64MB           CONFIG_HUGETLB_PAGE_SIZE_64MB		\
-			16MB           CONFIG_HUGETLB_PAGE_SIZE_16MB		\
-			4MB            CONFIG_HUGETLB_PAGE_SIZE_4MB		\
-			1MB            CONFIG_HUGETLB_PAGE_SIZE_1MB		\
-			256KB          CONFIG_HUGETLB_PAGE_SIZE_256KB" 16MB
+		 	"256MB         CONFIG_HUGETLB_PAGE_SIZE_256MB_2		\
+			64MB           CONFIG_HUGETLB_PAGE_SIZE_64MB_2		\
+			16MB           CONFIG_HUGETLB_PAGE_SIZE_16MB_2		\
+			4MB            CONFIG_HUGETLB_PAGE_SIZE_4MB_2		\
+			1MB            CONFIG_HUGETLB_PAGE_SIZE_1MB_2		\
+			256KB          CONFIG_HUGETLB_PAGE_SIZE_256KB_2" 16MB
 	fi
 fi
 
+if [ "$CONFIG_HUGETLB_PAGE_SIZE_256MB_1" = "y" -o "$CONFIG_HUGETLB_PAGE_SIZE_256MB_2" = "y" ]; then
+  define_bool CONFIG_HUGETLB_PAGE_SIZE_256MB y
+fi
+if [ "$CONFIG_HUGETLB_PAGE_SIZE_64MB_1" = "y" -o "$CONFIG_HUGETLB_PAGE_SIZE_64MB_2" = "y" ]; then
+  define_bool CONFIG_HUGETLB_PAGE_SIZE_64MB y
+fi
+if [ "$CONFIG_HUGETLB_PAGE_SIZE_16MB_1" = "y" -o "$CONFIG_HUGETLB_PAGE_SIZE_16MB_2" = "y" ]; then
+  define_bool CONFIG_HUGETLB_PAGE_SIZE_16MB y
+fi
+if [ "$CONFIG_HUGETLB_PAGE_SIZE_4MB_1" = "y" -o "$CONFIG_HUGETLB_PAGE_SIZE_4MB_2" = "y" ]; then
+  define_bool CONFIG_HUGETLB_PAGE_SIZE_4MB y
+fi
+if [ "$CONFIG_HUGETLB_PAGE_SIZE_1MB_1" = "y" -o "$CONFIG_HUGETLB_PAGE_SIZE_1MB_2" = "y" ]; then
+  define_bool CONFIG_HUGETLB_PAGE_SIZE_1MB y
+fi
+if [ "$CONFIG_HUGETLB_PAGE_SIZE_256KB_1" = "y" -o "$CONFIG_HUGETLB_PAGE_SIZE_256KB_2" = "y" ]; then
+  define_bool CONFIG_HUGETLB_PAGE_SIZE_256KB y
+fi
+
 bool 'SMP support' CONFIG_SMP
 bool 'Support running of Linux/x86 binaries' CONFIG_IA32_SUPPORT
 bool 'Performance monitor support' CONFIG_PERFMON
@@ -125,7 +154,7 @@ fi
 tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
 tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
 
-if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
+#if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
   source drivers/acpi/Config.in
 
   bool 'PCI support' CONFIG_PCI
@@ -136,15 +165,15 @@ if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
      source drivers/hotplug/Config.in
      source drivers/pcmcia/Config.in
   else
-     define_bool CONFIG_PCMCIA n
+     define_tristate CONFIG_PCMCIA n
   fi
 
   source drivers/parport/Config.in
-fi # !HP_SIM
+#fi # !HP_SIM
 
 endmenu
 
-if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
+#if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
   source drivers/mtd/Config.in
   source drivers/pnp/Config.in
   source drivers/block/Config.in
@@ -164,7 +193,7 @@ if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
     define_bool CONFIG_BLK_DEV_HD n
   fi
   endmenu
-fi
+#fi
 
 mainmenu_option next_comment
 comment 'SCSI support'
@@ -180,7 +209,7 @@ if [ "$CONFIG_NET" = "y" ]; then
   source net/Config.in
 fi
 
-if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
+#if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
   if [ "$CONFIG_NET" = "y" ]; then
     mainmenu_option next_comment
     comment 'Network device support'
@@ -212,7 +241,8 @@ if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
   #source drivers/misc/Config.in
 
   source drivers/media/Config.in
-else # HP_SIM
+#else # HP_SIM
+if [ "$CONFIG_IA64_HP_SIM" != "n" ]; then
 
   mainmenu_option next_comment
   comment 'Block devices'
@@ -228,7 +258,7 @@ fi # HP_SIM
 
 source fs/Config.in
 
-if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
+#if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
   if [ "$CONFIG_VT" = "y" ]; then
     mainmenu_option next_comment
     comment 'Console drivers'
@@ -252,7 +282,7 @@ if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
   source drivers/usb/Config.in
   source lib/Config.in
   source net/bluetooth/Config.in
-fi # !HP_SIM
+#fi # !HP_SIM
 
 if [ "$CONFIG_IA64_HP_SIM" != "n" -o "$CONFIG_IA64_GENERIC" != "n" ]; then
   source arch/ia64/hp/sim/Config.in
@@ -288,3 +318,4 @@ fi
 endmenu
 
 source security/Config.in
+source config.undef
Index: arch/m68k/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/m68k/config.in,v
retrieving revision 1.1.1.13
diff -u -p -r1.1.1.13 config.in
--- arch/m68k/config.in	12 Oct 2002 11:51:33 -0000	1.1.1.13
+++ arch/m68k/config.in	16 Oct 2002 23:01:03 -0000
@@ -18,7 +18,7 @@ comment 'Platform dependent setup'
 
 define_bool CONFIG_EISA n
 define_bool CONFIG_MCA n
-define_bool CONFIG_PCMCIA n
+define_tristate CONFIG_PCMCIA n
 
 bool 'Amiga support' CONFIG_AMIGA
 bool 'Atari support' CONFIG_ATARI
@@ -141,9 +141,9 @@ fi
 source drivers/pci/Config.in
 source drivers/zorro/Config.in
 
-if [ "$CONFIG_Q40" = "y" ]; then
+#if [ "$CONFIG_Q40" = "y" ]; then
    source drivers/pnp/Config.in
-fi
+#fi
 
 endmenu
 
@@ -153,9 +153,9 @@ source drivers/block/Config.in
 
 source drivers/md/Config.in
 
-if [ "$CONFIG_MAC" = "y" ]; then
+#if [ "$CONFIG_MAC" = "y" ]; then
    source drivers/input/Config.in
-fi
+#fi
 
 mainmenu_option next_comment
 comment 'ATA/ATAPI/MFM/RLL device support'
@@ -504,7 +504,7 @@ if [ "$CONFIG_ATARI" = "y" ]; then
    bool 'Enhanced Real Time Clock Support' CONFIG_RTC
 else
    if [ "$CONFIG_SUN3" = "y" ]; then
-      define_bool CONFIG_GEN_RTC y
+      define_tristate CONFIG_GEN_RTC y
    else
       tristate 'Generic /dev/rtc emulation' CONFIG_GEN_RTC
    fi
@@ -548,3 +548,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/mips/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/mips/config.in,v
retrieving revision 1.1.1.13
diff -u -p -r1.1.1.13 config.in
--- arch/mips/config.in	12 Oct 2002 11:50:54 -0000	1.1.1.13
+++ arch/mips/config.in	16 Oct 2002 23:01:07 -0000
@@ -25,7 +25,7 @@ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; the
       choice 'Galileo Chip Clock' \
         "75 CONFIG_SYSCLK_75\
          83.3 CONFIG_SYSCLK_83\
-         100 CONFIG_SYSCLK_100" CONFIG_SYSCLK_83
+         100 CONFIG_SYSCLK_100_1" CONFIG_SYSCLK_83
    fi
    bool 'Support for MIPS Atlas board (EXPERIMENTAL)' CONFIG_MIPS_ATLAS
    bool 'Support for MIPS Malta board (EXPERIMENTAL)' CONFIG_MIPS_MALTA
@@ -84,8 +84,12 @@ unset CONFIG_SWAP_IO_SPACE
 unset CONFIG_VIDEO_G364
 unset CONFIG_PC_KEYB
 
+define_bool CONFIG_ISA n
+define_bool CONFIG_EISA n
+define_bool CONFIG_PCI n
 define_bool CONFIG_MCA n
 define_bool CONFIG_SBUS n
+define_bool CONFIG_I8259 n
 
 if [ "$CONFIG_MIPS_EV96100" = "y" ]; then
    define_bool CONFIG_PCI y
@@ -138,7 +142,7 @@ if [ "$CONFIG_MIPS_MALTA" = "y" ]; then
 fi
 if [ "$CONFIG_MOMENCO_OCELOT" = "y" ]; then
    define_bool CONFIG_PCI y
-   define_bool CONFIG_SYSCLK_100 y
+   define_bool CONFIG_SYSCLK_100_2 y
    define_bool CONFIG_SWAP_IO_SPACE y
    define_bool CONFIG_NEW_IRQ y
    define_bool CONFIG_OLD_TIME_C y
@@ -201,19 +205,11 @@ if [ "$CONFIG_NINO" = "y" ]; then
    define_bool CONFIG_PC_KEYB y
 fi
 
-if [ "$CONFIG_ISA" != "y" ]; then
-   define_bool CONFIG_ISA n
-   define_bool CONFIG_EISA n
-else
+if [ "$CONFIG_ISA" = "y" ]; then
    define_bool CONFIG_EISA y
 fi
-
-if [ "$CONFIG_PCI" != "y" ]; then
-   define_bool CONFIG_PCI n
-fi
-
-if [ "$CONFIG_I8259" != "y" ]; then
-   define_bool CONFIG_I8259 n
+if [ "$CONFIG_SYSCLK_100_1" = "y" -o "$CONFIG_SYSCLK_100_2" = "y" ]; then
+   define_bool CONFIG_SYSCLK_100 y
 fi
 endmenu
 
@@ -302,7 +298,7 @@ bool 'Support for hot-pluggable devices'
 if [ "$CONFIG_HOTPLUG" = "y" ] ; then
    source drivers/pcmcia/Config.in
 else
-   define_bool CONFIG_PCMCIA n
+   define_tristate CONFIG_PCMCIA n
 fi
 
 if [ "$CONFIG_DECSTATION" = "y" ]; then
@@ -313,9 +309,9 @@ if [ "$CONFIG_DECSTATION" = "y" ]; then
 fi
 endmenu
 
-if [ "$CONFIG_ISA" = "y" ]; then
+#if [ "$CONFIG_ISA" = "y" ]; then
    source drivers/pnp/Config.in
-fi
+#fi
 
 source drivers/mtd/Config.in
 
@@ -351,10 +347,10 @@ if [ "$CONFIG_SCSI" != "n" ]; then
 fi
 endmenu
 
-if [ "$CONFIG_DECSTATION" != "y" -a \
-     "$CONFIG_SGI_IP22" != "y" ]; then
+#if [ "$CONFIG_DECSTATION" != "y" -a \
+#     "$CONFIG_SGI_IP22" != "y" ]; then
    source drivers/message/i2o/Config.in
-fi
+#fi
 
 if [ "$CONFIG_NET" = "y" ]; then
    source net/Config.in
@@ -418,7 +414,7 @@ if [ "$CONFIG_DECSTATION" = "y" ]; then
 #   if [ "$CONFIG_ACCESSBUS" = "y" ]; then
 #      bool 'MAXINE Access.Bus mouse (VSXXX-BB/GB) support' CONFIG_DTOP_MOUSE
 #   fi
-   bool 'Enhanced Real Time Clock Support' CONFIG_RTC
+   tristate 'Enhanced Real Time Clock Support' CONFIG_RTC
 
    endmenu
 fi
@@ -453,10 +449,10 @@ if [ "$CONFIG_VT" = "y" ]; then
    mainmenu_option next_comment
    comment 'Console drivers'
    bool 'VGA text console' CONFIG_VGA_CONSOLE
-   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+   #if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
       tristate 'MDA text console (dual-headed) (EXPERIMENTAL)' CONFIG_MDA_CONSOLE
       source drivers/video/Config.in
-   fi
+   #fi
    endmenu
 fi
 
@@ -498,3 +494,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/mips64/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/mips64/config.in,v
retrieving revision 1.1.1.12
diff -u -p -r1.1.1.12 config.in
--- arch/mips64/config.in	12 Oct 2002 11:52:33 -0000	1.1.1.12
+++ arch/mips64/config.in	16 Oct 2002 23:01:09 -0000
@@ -24,10 +24,6 @@ if [ "$CONFIG_SGI_IP27" = "y" ]; then
 fi
 endmenu
 
-define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
-define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
-define_bool CONFIG_GENERIC_ISA_DMA y
-
 #
 # Select some configuration options automatically based on user selections
 #
@@ -42,6 +38,13 @@ unset CONFIG_ISA
 unset CONFIG_MAPPED_PCI_IO
 unset CONFIG_PCI
 
+define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
+define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n
+define_bool CONFIG_GENERIC_ISA_DMA y
+define_bool CONFIG_PCI n
+define_bool CONFIG_ISA n
+define_bool CONFIG_EISA n
+
 if [ "$CONFIG_SGI_IP22" = "y" ]; then
    define_bool CONFIG_BOOT_ELF32 y
    define_bool CONFIG_ARC32 y
@@ -61,17 +64,10 @@ if [ "$CONFIG_SGI_IP27" = "y" ]; then
    define_int CONFIG_L1_CACHE_SHIFT 7
 fi
 
-if [ "$CONFIG_ISA" != "y" ]; then
-   define_bool CONFIG_ISA n
-   define_bool CONFIG_EISA n
-else
+if [ "$CONFIG_ISA" = "y" ]; then
    define_bool CONFIG_EISA y
 fi
 
-if [ "$CONFIG_PCI" != "y" ]; then
-   define_bool CONFIG_PCI n
-fi
-
 define_bool CONFIG_MCA n
 define_bool CONFIG_SBUS n
 
@@ -99,14 +95,12 @@ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; the
    bool 'Kernel floating-point emulation' CONFIG_MIPS_FPU_EMULATOR
 fi
 
-source drivers/pci/Config.in
-
 bool 'Support for hot-pluggable devices' CONFIG_HOTPLUG
 
 if [ "$CONFIG_HOTPLUG" = "y" ] ; then
    source drivers/pcmcia/Config.in
 else
-   define_bool CONFIG_PCMCIA n
+   define_tristate CONFIG_PCMCIA n
 fi
 
 if [ "$CONFIG_ARC32" = "y" ]; then
@@ -252,3 +246,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/parisc/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/parisc/config.in,v
retrieving revision 1.1.1.10
diff -u -p -r1.1.1.10 config.in
--- arch/parisc/config.in	12 Oct 2002 11:52:43 -0000	1.1.1.10
+++ arch/parisc/config.in	16 Oct 2002 23:01:10 -0000
@@ -196,3 +196,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/ppc/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/ppc/config.in,v
retrieving revision 1.1.1.21
diff -u -p -r1.1.1.21 config.in
--- arch/ppc/config.in	12 Oct 2002 11:51:09 -0000	1.1.1.21
+++ arch/ppc/config.in	16 Oct 2002 23:01:12 -0000
@@ -55,7 +55,7 @@ if [ "$CONFIG_8260" = "y" ]; then
 	 SBS8260	CONFIG_SBS8260	\
 	 RPXSUPER	CONFIG_RPX6	\
  	 TQM8260	CONFIG_TQM8260	\
-	 Willow		CONFIG_WILLOW"	Willow
+	 Willow		CONFIG_WILLOW_1"	Willow
 fi
 
 if [ "$CONFIG_40x" = "y" ]; then
@@ -114,9 +114,9 @@ fi
 
 if [ "$CONFIG_6xx" = "y" -a "$CONFIG_8260" = "n" ]; then
    choice 'Machine Type'		\
-	"CHRP/PowerMac/PReP	CONFIG_ALL_PPC		\
+	"CHRP/PowerMac/PReP	CONFIG_ALL_PPC_CH	\
 	 Amiga-APUS		CONFIG_APUS		\
-	 Cogent-Willow		CONFIG_WILLOW		\
+	 Cogent-Willow		CONFIG_WILLOW_2		\
 	 Force-PowerCore	CONFIG_PCORE		\
 	 Force-PowerPMC250	CONFIG_POWERPMC250	\
 	 Galileo-EV-64260-BP	CONFIG_EV64260		\
@@ -145,6 +145,14 @@ if [ "$CONFIG_6xx" = "y" -a "$CONFIG_826
    fi
 fi
 
+if [ "$CONFIG_POWER3" = "y" -o "$CONFIG_ALL_PPC_CH" = "y" ]; then
+   define_bool CONFIG_ALL_PPC y
+fi
+
+if [ "$CONFIG_WILLOW_1" = "y" -o "$CONFIG_WILLOW_2" = "y" ]; then
+   define_bool CONFIG_WILLOW y
+fi
+
 if [ "$CONFIG_FORCE" = "y" -o "$CONFIG_MENF1" = "y" \
      -o "$CONFIG_SANDPOINT" = "y" -o "$CONFIG_ZX4500" = "y" ]; then
    bool 'Enable MPC10x store gathering' CONFIG_MPC10X_STORE_GATHERING
@@ -314,7 +322,7 @@ bool 'Support for hot-pluggable devices'
 if [ "$CONFIG_HOTPLUG" = "y" ]; then
    source drivers/pcmcia/Config.in
 else
-   define_bool CONFIG_PCMCIA n
+   define_tristate CONFIG_PCMCIA n
 fi
 
 source drivers/parport/Config.in
@@ -488,7 +496,7 @@ if [ "$CONFIG_PPC_ISERIES" = "y" ]; then
    fi
    if [ "$CONFIG_VIOCD" = "y" ]; then
       define_bool CONFIG_CD_NO_IDESCSI y
-      define_bool CONFIG_BLK_DEV_IDECD y
+      define_tristate CONFIG_BLK_DEV_IDECD y
    fi
    endmenu
 else
@@ -617,3 +625,4 @@ endmenu
 
 source security/Config.in
 
+source config.undef
Index: arch/ppc64/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/ppc64/config.in,v
retrieving revision 1.1.1.12
diff -u -p -r1.1.1.12 config.in
--- arch/ppc64/config.in	12 Oct 2002 11:52:54 -0000	1.1.1.12
+++ arch/ppc64/config.in	16 Oct 2002 23:01:13 -0000
@@ -68,8 +68,8 @@ if [ "$CONFIG_HOTPLUG" = "y" ]; then
    source drivers/pcmcia/Config.in
    source drivers/hotplug/Config.in
 else
-   define_bool CONFIG_PCMCIA n
-   define_bool CONFIG_HOTPLUG_PCI n
+   define_tristate CONFIG_PCMCIA n
+   define_tristate CONFIG_HOTPLUG_PCI n
 fi
 
 if [ "$CONFIG_PPC_ISERIES" != "y" ]; then
@@ -207,3 +207,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/s390/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/s390/config.in,v
retrieving revision 1.1.1.7
diff -u -p -r1.1.1.7 config.in
--- arch/s390/config.in	12 Oct 2002 11:52:41 -0000	1.1.1.7
+++ arch/s390/config.in	16 Oct 2002 23:01:15 -0000
@@ -77,3 +77,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/s390x/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/s390x/config.in,v
retrieving revision 1.1.1.7
diff -u -p -r1.1.1.7 config.in
--- arch/s390x/config.in	12 Oct 2002 11:52:52 -0000	1.1.1.7
+++ arch/s390x/config.in	16 Oct 2002 23:01:15 -0000
@@ -81,3 +81,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/sh/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/sh/config.in,v
retrieving revision 1.1.1.10
diff -u -p -r1.1.1.10 config.in
--- arch/sh/config.in	27 Aug 2002 23:43:48 -0000	1.1.1.10
+++ arch/sh/config.in	16 Oct 2002 23:01:15 -0000
@@ -186,7 +186,7 @@ bool 'Support for hot-pluggable devices'
 if [ "$CONFIG_HOTPLUG" = "y" ] ; then
    source drivers/pcmcia/Config.in
 else
-   define_bool CONFIG_PCMCIA n
+   define_tristate CONFIG_PCMCIA n
 fi
 
 if [ "$CONFIG_PROC_FS" = "y" ]; then
@@ -261,9 +261,9 @@ endmenu
 #
 source drivers/input/Config.in
 
-if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then
-   source drivers/maple/Config.in
-fi
+#if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then
+#   source drivers/maple/Config.in
+#fi
 
 mainmenu_option next_comment
 comment 'Character devices'
@@ -306,7 +306,7 @@ if [ "$CONFIG_SH_DREAMCAST" = "y" -a "$C
    endmenu
 fi
 
-source drivers/char/joystick/Config.in
+#source drivers/char/joystick/Config.in
 
 if [ "$CONFIG_PARPORT" != "n" ]; then
    dep_tristate 'Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT
@@ -341,10 +341,10 @@ if [ "$CONFIG_VT" = "y" ]; then
    comment 'Console drivers'
    bool 'VGA text console' CONFIG_VGA_CONSOLE
    bool 'Video mode selection support' CONFIG_VIDEO_SELECT
-   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+   #if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
       tristate 'MDA text console (dual-headed) (EXPERIMENTAL)' CONFIG_MDA_CONSOLE
       source drivers/video/Config.in
-   fi
+   #fi
    endmenu
 fi
 
@@ -370,3 +370,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/sparc/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/sparc/config.in,v
retrieving revision 1.1.1.15
diff -u -p -r1.1.1.15 config.in
--- arch/sparc/config.in	12 Oct 2002 11:50:47 -0000	1.1.1.15
+++ arch/sparc/config.in	16 Oct 2002 23:01:16 -0000
@@ -30,7 +30,7 @@ define_bool CONFIG_SPARC32 y
 define_bool CONFIG_ISA n
 define_bool CONFIG_EISA n
 define_bool CONFIG_MCA n
-define_bool CONFIG_PCMCIA n
+define_tristate CONFIG_PCMCIA n
 define_bool CONFIG_SBUS y
 define_bool CONFIG_SBUSCHAR y
 define_bool CONFIG_SERIAL_CONSOLE y
@@ -41,10 +41,11 @@ define_bool CONFIG_RWSEM_XCHGADD_ALGORIT
 define_bool CONFIG_SUN_PM y
 
 bool 'Support for SUN4 machines (disables SUN4[CDM] support)' CONFIG_SUN4
-if [ "$CONFIG_SUN4" != "y" ]; then
+#if [ "$CONFIG_SUN4" != "y" ]; then
    bool 'Support for PCI and PS/2 keyboard/mouse' CONFIG_PCI
    source drivers/pci/Config.in
-else
+#else
+if [ "$CONFIG_SUN4" = "y" ]; then
    define_bool CONFIG_PCI n
 fi
 
@@ -72,9 +73,9 @@ endmenu
 source drivers/mtd/Config.in
 
 source drivers/serial/Config.in
-if [ "$CONFIG_SUN4" != "y" ]; then
+#if [ "$CONFIG_SUN4" != "y" ]; then
    source drivers/sbus/char/Config.in
-fi
+#fi
 
 mainmenu_option next_comment
 comment 'Block devices'
@@ -95,7 +96,7 @@ dep_bool '  Initial RAM disk (initrd) su
 endmenu
 
 # Don't frighten a common SBus user
-if [ "$CONFIG_PCI" = "y" ]; then
+#if [ "$CONFIG_PCI" = "y" ]; then
 
   mainmenu_option next_comment
   comment 'ATA/ATAPI/MFM/RLL support'
@@ -108,8 +109,9 @@ if [ "$CONFIG_PCI" = "y" ]; then
     define_bool CONFIG_BLK_DEV_HD n
   fi
   endmenu
-else
-  define_bool CONFIG_IDE n
+#else
+if [ "$CONFIG_PCI" != "y" ]; then
+  define_tristate CONFIG_IDE n
   define_bool CONFIG_BLK_DEV_HD n
 fi
 
@@ -226,6 +228,9 @@ source drivers/input/Config.in
 
 source fs/Config.in
 
+mainmenu_option next_comment
+comment 'Sound'
+
 tristate 'Sound card support' CONFIG_SOUND
 if [ "$CONFIG_SOUND" != "n" ]; then
    source sound/Config.in
@@ -253,3 +258,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/sparc64/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/sparc64/config.in,v
retrieving revision 1.1.1.15
diff -u -p -r1.1.1.15 config.in
--- arch/sparc64/config.in	12 Oct 2002 11:51:46 -0000	1.1.1.15
+++ arch/sparc64/config.in	16 Oct 2002 23:01:17 -0000
@@ -35,17 +35,17 @@ define_bool CONFIG_RWSEM_GENERIC_SPINLOC
 define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
 define_bool CONFIG_GENERIC_ISA_DMA y
 define_bool CONFIG_ISA n
-define_bool CONFIG_ISAPNP n
+define_bool CONFIG_ISAPNP n
 define_bool CONFIG_EISA n
 define_bool CONFIG_MCA n
-define_bool CONFIG_PCMCIA n
+define_tristate CONFIG_PCMCIA n
 define_bool CONFIG_SBUS y
 define_bool CONFIG_SBUSCHAR y
 define_bool CONFIG_SUN_AUXIO y
 define_bool CONFIG_SUN_IO y
 bool 'PCI support' CONFIG_PCI
 if [ "$CONFIG_PCI" = "y" ] ; then
-   define_bool CONFIG_RTC y
+   define_tristate CONFIG_RTC y
 fi
 source drivers/pci/Config.in
 
@@ -153,8 +153,9 @@ if [ "$CONFIG_SCSI" != "n" ]; then
    dep_tristate 'Sparc ESP Scsi Driver' CONFIG_SCSI_SUNESP $CONFIG_SCSI
    dep_tristate 'PTI Qlogic, ISP Driver' CONFIG_SCSI_QLOGICPTI $CONFIG_SCSI
 
-   if [ "$CONFIG_PCI" != "n" ]; then
+   #if [ "$CONFIG_PCI" != "n" ]; then
       source drivers/scsi/aic7xxx/Config.in
+   if [ "$CONFIG_PCI" != "n" ]; then
       if [ "$CONFIG_SCSI_AIC7XXX" != "y" ]; then
          dep_tristate 'Old Adaptec AIC7xxx support' CONFIG_SCSI_AIC7XXX_OLD $CONFIG_SCSI
          if [ "$CONFIG_SCSI_AIC7XXX_OLD" != "n" ]; then
@@ -202,9 +203,9 @@ endmenu
 
 source drivers/fc4/Config.in
 
-if [ "$CONFIG_PCI" = "y" ]; then
+#if [ "$CONFIG_PCI" = "y" ]; then
    source drivers/message/fusion/Config.in
-fi
+#fi
 
 source drivers/ieee1394/Config.in
 
@@ -296,3 +297,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: arch/um/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/um/config.in,v
retrieving revision 1.1.1.3
diff -u -p -r1.1.1.3 config.in
--- arch/um/config.in	16 Oct 2002 19:46:03 -0000	1.1.1.3
+++ arch/um/config.in	16 Oct 2002 23:01:18 -0000
@@ -91,3 +91,4 @@ fi
 dep_bool 'Enable gprof support' CONFIG_GPROF $CONFIG_DEBUGSYM
 dep_bool 'Enable gcov support' CONFIG_GCOV $CONFIG_DEBUGSYM
 endmenu
+source config.undef
Index: arch/x86_64/config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/arch/x86_64/config.in,v
retrieving revision 1.1.1.11
diff -u -p -r1.1.1.11 config.in
--- arch/x86_64/config.in	12 Oct 2002 11:53:03 -0000	1.1.1.11
+++ arch/x86_64/config.in	16 Oct 2002 23:01:20 -0000
@@ -90,7 +90,7 @@ if [ "$CONFIG_HOTPLUG" = "y" ] ; then
    source drivers/pcmcia/Config.in
    source drivers/hotplug/Config.in
 else
-   define_bool CONFIG_PCMCIA n
+   define_tristate CONFIG_PCMCIA n
 fi
 
 endmenu
@@ -193,10 +193,10 @@ if [ "$CONFIG_VT" = "y" ]; then
    comment 'Console drivers'
    bool 'VGA text console' CONFIG_VGA_CONSOLE
    bool 'Video mode selection support' CONFIG_VIDEO_SELECT
-   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+   #if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
       tristate 'MDA text console (dual-headed) (EXPERIMENTAL)' CONFIG_MDA_CONSOLE
       source drivers/video/Config.in
-   fi
+   #fi
    endmenu
 fi
 
@@ -229,3 +229,4 @@ endmenu
 
 source security/Config.in
 source lib/Config.in
+source config.undef
Index: drivers/acpi/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/acpi/Config.in,v
retrieving revision 1.1.1.10
diff -u -p -r1.1.1.10 Config.in
--- drivers/acpi/Config.in	27 Sep 2002 22:31:52 -0000	1.1.1.10
+++ drivers/acpi/Config.in	16 Oct 2002 23:01:21 -0000
@@ -51,10 +51,10 @@ if [ "$CONFIG_IA64" = "y" ]; then
       define_bool CONFIG_ACPI_POWER n
       define_bool CONFIG_ACPI_SYSTEM n
       define_bool CONFIG_ACPI_SLEEP n
-      define_bool CONFIG_ACPI_BUTTON n
-      define_bool CONFIG_ACPI_FAN n
-      define_bool CONFIG_ACPI_PROCESSOR n
-      define_bool CONFIG_ACPI_THERMAL n
+      define_tristate CONFIG_ACPI_BUTTON n
+      define_tristate CONFIG_ACPI_FAN n
+      define_tristate CONFIG_ACPI_PROCESSOR n
+      define_tristate CONFIG_ACPI_THERMAL n
       define_bool CONFIG_ACPI_NUMA y
    fi
 
Index: drivers/char/agp/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/char/agp/Config.in,v
retrieving revision 1.1.1.2
diff -u -p -r1.1.1.2 Config.in
--- drivers/char/agp/Config.in	27 Sep 2002 22:30:24 -0000	1.1.1.2
+++ drivers/char/agp/Config.in	16 Oct 2002 23:01:24 -0000
@@ -1,8 +1,9 @@
 
-if [ "$CONFIG_GART_IOMMU" = "y" ]; then
-   dep_bool '/dev/agpgart (AGP Support)' CONFIG_AGP $CONFIG_DRM_AGP
+if [ "$CONFIG_GART_IOMMU" != "y" ]; then
+   tristate '/dev/agpgart (AGP Support)' CONFIG_AGP
 else
-   dep_tristate '/dev/agpgart (AGP Support)' CONFIG_AGP $CONFIG_DRM_AGP
+   bool '/dev/agpgart (AGP Support)' CONFIG_AGP_GART
+   define_tristate CONFIG_AGP $CONFIG_AGP_GART
 fi
 if [ "$CONFIG_AGP" != "n" ]; then
    bool '  Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support' CONFIG_AGP_INTEL
Index: drivers/message/fusion/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/message/fusion/Config.in,v
retrieving revision 1.1.1.4
diff -u -p -r1.1.1.4 Config.in
--- drivers/message/fusion/Config.in	16 Oct 2002 19:44:14 -0000	1.1.1.4
+++ drivers/message/fusion/Config.in	16 Oct 2002 23:01:29 -0000
@@ -18,10 +18,10 @@ if [ "$CONFIG_FUSION" = "y" -o "$CONFIG_
     dep_tristate "  Fusion MPT misc device (ioctl) driver" CONFIG_FUSION_CTL $CONFIG_FUSION m
   fi
 
-  dep_tristate "  Fusion MPT LAN driver" CONFIG_FUSION_LAN $CONFIG_FUSION $CONFIG_NET
-  if [ "$CONFIG_FUSION_LAN" != "n" ]; then
-    define_bool CONFIG_NET_FC y
-  fi
+  dep_tristate "  Fusion MPT LAN driver" CONFIG_FUSION_LAN $CONFIG_FUSION $CONFIG_NET $CONFIG_NET_FC
+#  if [ "$CONFIG_FUSION_LAN" != "n" ]; then
+#    define_bool CONFIG_NET_FC y
+#  fi
 
 else
 
@@ -29,9 +29,9 @@ else
   # These <should> be define_tristate, but we leave them define_bool
   # for backward compatibility with pre-linux-2.2.15 kernels.
   # (Bugzilla:fibrebugs, #384)
-  define_bool CONFIG_FUSION_ISENSE n
-  define_bool CONFIG_FUSION_CTL n
-  define_bool CONFIG_FUSION_LAN n
+  define_tristate CONFIG_FUSION_ISENSE n
+  define_tristate CONFIG_FUSION_CTL n
+  define_tristate CONFIG_FUSION_LAN n
 
 fi
 
Index: drivers/mtd/chips/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/mtd/chips/Config.in,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Config.in
--- drivers/mtd/chips/Config.in	26 Nov 2001 19:31:18 -0000	1.1.1.1
+++ drivers/mtd/chips/Config.in	16 Oct 2002 23:01:30 -0000
@@ -11,12 +11,12 @@ dep_tristate '  Detect flash chips by Co
 dep_tristate '  Detect non-CFI AMD/JEDEC-compatible flash chips' CONFIG_MTD_JEDECPROBE $CONFIG_MTD
 
 if [ "$CONFIG_MTD_CFI" = "y" -o "$CONFIG_MTD_INTELPROBE" = "y" -o "$CONFIG_MTD_JEDECPROBE" = "y" ]; then
-   define_bool CONFIG_MTD_GEN_PROBE y
+   define_tristate CONFIG_MTD_GEN_PROBE y
 else
    if [ "$CONFIG_MTD_CFI" = "m" -o "$CONFIG_MTD_INTELPROBE" = "m" -o "$CONFIG_MTD_JEDECPROBE" = "m" ]; then
-      define_bool CONFIG_MTD_GEN_PROBE m
+      define_tristate CONFIG_MTD_GEN_PROBE m
    else
-      define_bool CONFIG_MTD_GEN_PROBE n
+      define_tristate CONFIG_MTD_GEN_PROBE n
    fi
 fi
 if [ "$CONFIG_MTD_GEN_PROBE" = "y" -o "$CONFIG_MTD_GEN_PROBE" = "m" ]; then
Index: drivers/mtd/devices/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/mtd/devices/Config.in,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Config.in
--- drivers/mtd/devices/Config.in	26 Nov 2001 19:31:18 -0000	1.1.1.1
+++ drivers/mtd/devices/Config.in	16 Oct 2002 23:01:30 -0000
@@ -29,12 +29,12 @@ comment 'Disk-On-Chip Device Drivers'
    dep_tristate '  M-Systems Disk-On-Chip 2000 and Millennium' CONFIG_MTD_DOC2000 $CONFIG_MTD
    dep_tristate '  M-Systems Disk-On-Chip Millennium-only alternative driver (see help)' CONFIG_MTD_DOC2001 $CONFIG_MTD
    if [ "$CONFIG_MTD_DOC2001" = "y" -o "$CONFIG_MTD_DOC2000" = "y" ]; then
-      define_bool CONFIG_MTD_DOCPROBE y
+      define_tristate CONFIG_MTD_DOCPROBE y
    else
       if [ "$CONFIG_MTD_DOC2001" = "m" -o "$CONFIG_MTD_DOC2000" = "m" ]; then
-	 define_bool CONFIG_MTD_DOCPROBE m
+	 define_tristate CONFIG_MTD_DOCPROBE m
       else
-	 define_bool CONFIG_MTD_DOCPROBE n
+	 define_tristate CONFIG_MTD_DOCPROBE n
       fi
    fi
 
Index: drivers/net/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/net/Config.in,v
retrieving revision 1.1.1.13
diff -u -p -r1.1.1.13 Config.in
--- drivers/net/Config.in	7 Oct 2002 19:16:13 -0000	1.1.1.13
+++ drivers/net/Config.in	16 Oct 2002 23:01:30 -0000
@@ -305,6 +305,8 @@ if [ "$CONFIG_NET_RADIO" = "y" ]; then
 
 # New directory for Wireless LAN devices - cards above will move there
    source drivers/net/wireless/Config.in
+else
+   define_tristate CONFIG_AIRONET4500 n
 fi
 
 endmenu
Index: drivers/parport/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/parport/Config.in,v
retrieving revision 1.1.1.2
diff -u -p -r1.1.1.2 Config.in
--- drivers/parport/Config.in	31 Jan 2002 22:18:24 -0000	1.1.1.2
+++ drivers/parport/Config.in	16 Oct 2002 23:01:33 -0000
@@ -11,8 +11,8 @@ comment 'Parallel port support'
 tristate 'Parallel port support' CONFIG_PARPORT
 if [ "$CONFIG_PARPORT" != "n" ]; then
    dep_tristate '  PC-style hardware' CONFIG_PARPORT_PC $CONFIG_PARPORT
-   if [ "$CONFIG_PARPORT_PC" != "n" -a "$CONFIG_SERIAL" != "n" ]; then
-      if [ "$CONFIG_SERIAL" = "m" ]; then
+   if [ "$CONFIG_PARPORT_PC" != "n" -a "$CONFIG_SERIAL_8250" != "n" ]; then
+      if [ "$CONFIG_SERIAL_8250" = "m" ]; then
          define_tristate CONFIG_PARPORT_PC_CML1 m
       else
          define_tristate CONFIG_PARPORT_PC_CML1 $CONFIG_PARPORT_PC
Index: drivers/pnp/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/pnp/Config.in,v
retrieving revision 1.1.1.3
diff -u -p -r1.1.1.3 Config.in
--- drivers/pnp/Config.in	19 Oct 2002 11:36:15 -0000	1.1.1.3
+++ drivers/pnp/Config.in	19 Oct 2002 13:00:10 -0000
@@ -4,15 +4,17 @@
 mainmenu_option next_comment
 comment 'Plug and Play configuration'
 
-dep_bool 'Plug and Play support' CONFIG_PNP
+bool 'Plug and Play support' CONFIG_PNP
 
-   dep_bool '  Plug and Play device name database' CONFIG_PNP_NAMES $CONFIG_PNP
-   dep_bool '  PnP Debug Messages' CONFIG_PNP_DEBUG $CONFIG_PNP
+if [ "$CONFIG_PNP" = "y" ]; then
+   bool '  Plug and Play device name database' CONFIG_PNP_NAMES
+   bool '  PnP Debug Messages' CONFIG_PNP_DEBUG
 
-comment 'Protocols' $CONFIG_PNP
+   comment 'Protocols'
 
-if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-   dep_bool '  ISA Plug and Play support (EXPERIMENTAL)' CONFIG_ISAPNP $CONFIG_PNP
-   dep_bool '  Plug and Play BIOS support (EXPERIMENTAL)' CONFIG_PNPBIOS $CONFIG_PNP
+   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+      bool '  ISA Plug and Play support (EXPERIMENTAL)' CONFIG_ISAPNP
+      bool '  Plug and Play BIOS support (EXPERIMENTAL)' CONFIG_PNPBIOS
+   fi
 fi
 endmenu
Index: drivers/serial/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/serial/Config.in,v
retrieving revision 1.1.1.4
diff -u -p -r1.1.1.4 Config.in
--- drivers/serial/Config.in	16 Oct 2002 19:42:48 -0000	1.1.1.4
+++ drivers/serial/Config.in	16 Oct 2002 23:01:36 -0000
@@ -62,14 +62,14 @@ if [ "$CONFIG_SERIAL_AMBA" = "y"   -o "$
      "$CONFIG_SERIAL_ANAKIN" = "y" -o "$CONFIG_SERIAL_UART00" = "y" -o \
      "$CONFIG_SERIAL_8250" = "y"   -o "$CONFIG_SERIAL_ROCKETPORT" = "y" -o \
      "$CONFIG_SERIAL_SUNCORE" = "y" ]; then
-   define_bool CONFIG_SERIAL_CORE y
+   define_tristate CONFIG_SERIAL_CORE y
 else
    if [ "$CONFIG_SERIAL_AMBA" = "m"   -o "$CONFIG_SERIAL_CLPS711X" = "m" -o \
         "$CONFIG_SERIAL_21285" = "m"  -o "$CONFIG_SERIAL_SA1100" = "m" -o \
         "$CONFIG_SERIAL_ANAKIN" = "m" -o "$CONFIG_SERIAL_UART00" = "m" -o \
         "$CONFIG_SERIAL_8250" = "m"   -o "$CONFIG_SERIAL_ROCKETPORT" = "m" -o \
         "$CONFIG_SERIAL_SUNCORE" = "m" ]; then
-      define_bool CONFIG_SERIAL_CORE m
+      define_tristate CONFIG_SERIAL_CORE m
    fi
 fi
 if [ "$CONFIG_SERIAL_AMBA_CONSOLE" = "y" -o \
Index: drivers/usb/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/drivers/usb/Config.in,v
retrieving revision 1.1.1.11
diff -u -p -r1.1.1.11 Config.in
--- drivers/usb/Config.in	27 Aug 2002 23:41:47 -0000	1.1.1.11
+++ drivers/usb/Config.in	16 Oct 2002 23:01:36 -0000
@@ -8,7 +8,7 @@ comment 'USB support'
 if [ "$CONFIG_PCI" = "y" -o "$CONFIG_SA1111" = "y" ]; then
    tristate 'Support for USB' CONFIG_USB
 else
-   define_bool CONFIG_USB n
+   define_tristate CONFIG_USB n
 fi
 
 if [ "$CONFIG_USB" = "y" -o  "$CONFIG_USB" = "m" ]; then
Index: fs/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/fs/Config.in,v
retrieving revision 1.1.1.18
diff -u -p -r1.1.1.18 Config.in
--- fs/Config.in	16 Oct 2002 19:38:54 -0000	1.1.1.18
+++ fs/Config.in	16 Oct 2002 23:01:39 -0000
@@ -173,7 +173,7 @@ if [ "$CONFIG_NET" = "y" ]; then
 else
    # for fs/nls/Config.in
    define_bool CONFIG_NCPFS_NLS n
-   define_bool CONFIG_SMB_FS n
+   define_tristate CONFIG_SMB_FS n
 fi
 
 if [ "$CONFIG_ZISOFS" = "y" ]; then
Index: scripts/Makefile
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/scripts/Makefile,v
retrieving revision 1.1.1.7
diff -u -p -r1.1.1.7 Makefile
--- scripts/Makefile	7 Oct 2002 19:20:55 -0000	1.1.1.7
+++ scripts/Makefile	16 Oct 2002 23:02:01 -0000
@@ -11,7 +11,7 @@
 
 EXTRA_TARGETS := fixdep split-include docproc conmakehash
 
-subdir-	:= lxdialog
+subdir-	:= lxdialog kconfig
 
 # Yikes. We need to build this stuff here even if the user only wants
 # modules.
Index: sound/oss/Config.in
===================================================================
RCS file: /usr/src/cvsroot/linux-2.5/sound/oss/Config.in,v
retrieving revision 1.1.1.4
diff -u -p -r1.1.1.4 Config.in
--- sound/oss/Config.in	27 Aug 2002 23:44:49 -0000	1.1.1.4
+++ sound/oss/Config.in	16 Oct 2002 23:02:04 -0000
@@ -201,12 +201,3 @@ fi
 
 dep_tristate '  TV card (bt848) mixer support' CONFIG_SOUND_TVMIXER $CONFIG_SOUND $CONFIG_I2C
 
-# A cross directory dependence. The sound modules will need gameport.o compiled in,
-# but it resides in the drivers/char/joystick directory. This define_tristate takes
-# care of that. --Vojtech
-
-if [ "$CONFIG_INPUT_GAMEPORT" != "n" ]; then
-  if [ "$CONFIG_SOUND_ESSSOLO1" = "y" -o "$CONFIG_SOUND_ES1370" = "y" -o "$CONFIG_SOUND_ES1371" = "y" -o "$CONFIG_SOUND_SONICVIBES" = "y" ]; then
-    define_tristate CONFIG_INPUT_GAMEPORT y
-  fi
-fi
diff -ur config.undef config.undef
--- config.undef	1970-01-01 01:00:00.000000000 +0100
+++ config.undef	2002-08-22 20:17:58.000000000 +0200
@@ -0,0 +1,210 @@
+mainmenu_option next_comment
+comment ''
+define_bool CONFIG_IBM_OCP n
+define_bool CONFIG_VISWS n
+define_bool CONFIG_HUB6 n
+define_bool CONFIG_ALL_PPC n
+define_bool CONFIG_ALPHA_BOOK1 n
+define_bool CONFIG_8xx n
+define_bool CONFIG_SUN3 n
+define_bool CONFIG_ARCH_EBSA110 n
+define_bool CONFIG_HP300 n
+define_bool CONFIG_ARCH_NETWINDER n
+define_bool CONFIG_ARCH_ANAKIN n
+define_bool CONFIG_SERIAL_CONSOLE n
+define_bool CONFIG_MIPS_GT96100 n
+define_bool CONFIG_MOMENCO_OCELOT n
+define_bool CONFIG_IA64_HP_SIM n
+define_bool CONFIG_IA64_SGI_SN n
+define_bool CONFIG_MIPS n
+define_bool CONFIG_ARCH_A5K n
+define_bool CONFIG_SGI_IP22 n
+define_bool CONFIG_SGI_IP27 n
+define_bool CONFIG_SERIAL_MANY_PORTS n
+define_bool CONFIG_MIPS_ITE8172 n
+define_bool CONFIG_ARCH_CDB89712 n
+define_bool CONFIG_ARCH_ARC n
+define_bool CONFIG_PPC_ISERIES n
+define_bool CONFIG_SA1100_CERF_CPLD n
+define_bool CONFIG_SA1111 n
+define_bool CONFIG_PPC_PSERIES n
+define_bool CONFIG_AMIGA n
+define_bool CONFIG_ARCH_FOOTBRIDGE n
+define_bool CONFIG_GSC_LASI n
+define_bool CONFIG_ALPHA n
+define_bool CONFIG_TQM8xxL n
+define_bool CONFIG_IA64_SGI_SN1 n
+define_bool CONFIG_ARCH_S390 n
+define_bool CONFIG_IT8712 n
+define_bool CONFIG_SERIAL_EXTENDED n
+define_bool CONFIG_ATARI n
+define_bool CONFIG_ARCH_CLPS7500 n
+define_bool CONFIG_SPARC n
+define_bool CONFIG_ARCH_INTEGRATOR n
+define_bool CONFIG_SUN3X n
+define_bool CONFIG_ARCH_CAMELOT n
+define_bool CONFIG_MIPS_IVR n
+define_bool CONFIG_SH_DREAMCAST n
+define_bool CONFIG_X86_64 n
+define_bool CONFIG_HD64461 n
+define_bool CONFIG_HD64465 n
+define_bool CONFIG_TC n
+define_bool CONFIG_ZORRO n
+define_bool CONFIG_ARCH_CLPS711X n
+define_bool CONFIG_DDB5477 n
+define_bool CONFIG_Q40 n
+define_bool CONFIG_ARCH_P720T n
+define_bool CONFIG_DEBUG_BUGVERBOSE n
+define_bool CONFIG_PARISC n
+define_bool CONFIG_APOLLO n
+define_bool CONFIG_FB_G364 n
+define_bool CONFIG_MAC n
+define_bool CONFIG_ARCH_SA1100 n
+define_bool CONFIG_SA1100_CERF n
+define_bool CONFIG_MIPS_JAZZ n
+define_bool CONFIG_SUPERH n
+define_bool CONFIG_SERIAL_SHARE_IRQ n
+define_bool CONFIG_ARCH_EP7211 n
+define_bool CONFIG_SPARC32 n
+define_bool CONFIG_ARM n
+define_bool CONFIG_SGI n
+define_bool CONFIG_PPC n
+define_bool CONFIG_SPARC64 n
+define_bool CONFIG_FOOTBRIDGE n
+define_bool CONFIG_SA1100_LART n
+define_bool CONFIG_DECSTATION n
+define_bool CONFIG_SERIAL_MULTIPORT n
+define_bool CONFIG_MIPS_AU1000 n
+define_bool CONFIG_ARCH_ACORN n
+define_bool CONFIG_IA64 n
+define_bool CONFIG_BAGET_MIPS n
+define_bool CONFIG_IA32_EMULATION n
+define_bool CONFIG_RPXCLASSIC n
+define_bool CONFIG_ARCH_IQ80310 n
+define_bool CONFIG_RPXLITE n
+define_bool CONFIG_NINO n
+define_bool CONFIG_PPC64 n
+define_bool CONFIG_APUS n
+define_bool CONFIG_ARCH_FTVPCI n
+define_bool CONFIG_ARCH_NEXUSPCI n
+define_bool CONFIG_ARCH_S390X n
+define_bool CONFIG_ARCH_TBOX n
+define_bool CONFIG_CARDBUS n
+define_bool CONFIG_CD_NO_IDESCSI n
+define_bool CONFIG_CPU_DISABLE_DCACHE n
+define_bool CONFIG_DEBUG_IOVIRT n
+define_bool CONFIG_EISA n
+define_bool CONFIG_ETRAX100_SERIAL_FLUSH_DMA_FAST n
+define_bool CONFIG_FDDI n
+define_bool CONFIG_GG2 n
+define_bool CONFIG_GSC_PS2 n
+define_bool CONFIG_HOTPLUG n
+define_bool CONFIG_IODC_CONSOLE n
+define_bool CONFIG_ISA n
+define_bool CONFIG_IT8172_SCR0 n
+define_bool CONFIG_IT8172_SCR1 n
+define_bool CONFIG_JULIETTE n
+define_bool CONFIG_MCA n
+define_bool CONFIG_MOUSE n
+define_bool CONFIG_NETLINK n
+define_bool CONFIG_NO_PGT_CACHE n
+define_bool CONFIG_NUMA n
+define_bool CONFIG_PCI n
+define_bool CONFIG_PLD_HOTSWAP n
+define_bool CONFIG_REMOTE_DEBUG n
+define_bool CONFIG_SBUS n
+define_bool CONFIG_SIMNOW n
+define_bool CONFIG_SOFTWARE_SUSPEND n
+define_bool CONFIG_TQM860 n
+define_bool CONFIG_VGA_CONSOLE n
+define_bool CONFIG_X86 n
+define_bool CONFIG_X86_IO_APIC n
+define_bool CONFIG_X86_LOCAL_APIC n
+define_bool CONFIG_X86_UP_APIC n
+define_bool CONFIG_X86_UP_IOAPIC n
+define_bool CONFIG_XSCALE_PMU_TIMER n
+define_bool CONFIG_IT8172_TUNING n
+define_bool CONFIG_SA1100_CONSUS n
+define_bool CONFIG_M68K n
+define_bool CONFIG_PPC32 n
+define_bool CONFIG_ISAPNP n
+define_tristate CONFIG_PCMCIA n
+define_tristate CONFIG_SERIAL n
+define_tristate CONFIG_DASD_CKD n
+define_tristate CONFIG_I2C n
+define_tristate CONFIG_I2C_ALGOBIT n
+define_tristate CONFIG_PARPORT n
+define_tristate CONFIG_PPP_DEFLATE n
+define_tristate CONFIG_SCSI_DEBUG n
+define_tristate CONFIG_SERIAL_8250 n
+define_tristate CONFIG_SONYPI n
+define_tristate CONFIG_SOUND_GAMEPORT n
+define_tristate CONFIG_MTD n
+define_tristate CONFIG_USB n
+define_tristate CONFIG_BLK_DEV_IDETAPE n
+define_tristate CONFIG_AMIGAMOUSE n
+define_tristate CONFIG_SCx200 n
+define_tristate CONFIG_DRM_GAMMA n
+define_tristate CONFIG_VIDEO_DEV n
+define_tristate CONFIG_BT n
+define_tristate CONFIG_BT_L2CAP n
+define_tristate CONFIG_BT_SCO n
+#undef
+define_bool CONFIG_HIGHPTE n
+define_bool CONFIG_GMAC n
+define_bool CONFIG_IEEE1394_PCILYNX_LOCALRAM n
+define_bool CONFIG_DRM_AGP n
+define_bool CONFIG_SERIAL_DETECT_IRQ n
+define_bool CONFIG_DEBUG_OBSOLETE n
+define_bool CONFIG_FB_TBOX n
+define_bool CONFIG_LOGITECH_3D n
+define_bool CONFIG_SERIAL_ROCKETPORT n
+define_bool CONFIG_MTD_INTELPROBE n
+define_bool CONFIG_SERIAL_ACPI n
+define_bool CONFIG_SA1100_BITSY n
+define_bool CONFIG_I2C_PARPORT n
+define_bool CONFIG_GAMEPORT_CS461X n
+define_bool CONFIG_NET_PROFILE n
+define_bool CONFIG_OBSOLETE n
+define_bool CONFIG_IEEE1394_PCILYNX_PORTS n
+define_bool CONFIG_MAPLE n
+define_bool CONFIG_L3 n
+define_bool CONFIG_SIBYTE_SB1250 n
+define_bool CONFIG_SA n
+define_bool CONFIG_405 n
+define_bool CONFIG_AX25_DAMA_MASTER n
+define_bool CONFIG_SND_DEBUG_DETECTION n
+define_bool CONFIG_PCMCIA_SERIAL_CS n
+define_bool CONFIG_SOUND_SND n
+define_bool CONFIG_MTD_CFI_INTELSTD n
+define_bool CONFIG_IT8172_REVC n
+define_bool CONFIG_UM n
+define_bool CONFIG_SIBYTE_SWARM n
+define_bool CONFIG_S390 n
+define_bool CONFIG_BLK_DEV_TIVO n
+define_bool CONFIG_BRIDGE_EBT n
+define_bool CONFIG_PPC_RTC n
+define_bool CONFIG_GART_IOMMU n
+define_bool CONFIG_ARCH_AUTCPU12 n
+define_bool CONFIG_ARCH_CEIVA n
+#help only
+define_bool CONFIG_BLK_DEV_HD_IDE n
+define_bool CONFIG_INPUT_GAMEPORT n
+define_bool CONFIG_BLK_DEV_IDE_TCQ_DEFAULT n
+define_bool CONFIG_BLK_DEV_ATARAID n
+define_bool CONFIG_ATAPI n
+define_bool CONFIG_AEC6280_BURST n
+define_bool CONFIG_BLK_DEV_IDE_TCQ n
+define_bool CONFIG_USB_SPEEDTCH n
+define_bool CONFIG_BLK_DEV_ATARAID_PDC n
+define_bool CONFIG_BLK_DEV_HD_ONLY n
+define_bool CONFIG_BLK_DEV_ATARAID_HPT n
+define_bool CONFIG_NFS_DIRECTIO n
+define_bool CONFIG_AIC7XXX_OLD_PROC_STATS n
+define_bool CONFIG_AIC7XXX_OLD_TCQ_ON_BY_DEFAULT n
+define_bool CONFIG_ISDN_DIVAS_DIVA2I4L n
+define_bool CONFIG_CIFS_DEBUG n
+define_bool CONFIG_X86_CYCLONE n
+define_bool CONFIG_SA1100_FORTUNET n
+define_bool CONFIG_MTD_NAND_EDB7312 n
+endmenu