Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/i386/Kconfig                    |    8 +---
 25-akpm/arch/i386/Kconfig.debug              |    3 +
 25-akpm/arch/i386/kernel/cpu/cpufreq/Kconfig |   54 ++++++++++++---------------
 25-akpm/drivers/acpi/Kconfig                 |   34 ++++++-----------
 25-akpm/drivers/cpufreq/Kconfig              |   20 +++++-----
 25-akpm/drivers/mtd/Kconfig                  |   18 ++++-----
 25-akpm/drivers/parport/Kconfig              |   12 +-----
 25-akpm/drivers/pci/Kconfig                  |    2 -
 25-akpm/drivers/pci/pcie/Kconfig             |    2 -
 25-akpm/drivers/pcmcia/Kconfig               |   11 +++--
 25-akpm/drivers/usb/Kconfig                  |   18 +++++++++
 25-akpm/drivers/usb/host/Kconfig             |   18 ---------
 25-akpm/drivers/usb/storage/Kconfig          |    1 
 25-akpm/drivers/video/Kconfig                |   29 +++++++-------
 25-akpm/init/Kconfig                         |   20 ----------
 25-akpm/lib/Kconfig.debug                    |   53 +++++++++++++++-----------
 25-akpm/scripts/kconfig/gconf.c              |   34 ++++++++++++++++-
 25-akpm/sound/oss/Kconfig                    |    8 ++--
 sound/core/Kconfig                           |    0 
 19 files changed, 170 insertions(+), 175 deletions(-)

diff -puN arch/i386/Kconfig~bk-kconfig arch/i386/Kconfig
--- 25/arch/i386/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/arch/i386/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -1164,18 +1164,14 @@ config EISA
 source "drivers/eisa/Kconfig"
 
 config MCA
-	bool "MCA support"
-	depends on !(X86_VISWS || X86_VOYAGER)
+	bool "MCA support" if !(X86_VISWS || X86_VOYAGER)
+	default y if X86_VOYAGER
 	help
 	  MicroChannel Architecture is found in some IBM PS/2 machines and
 	  laptops.  It is a bus system similar to PCI or ISA. See
 	  <file:Documentation/mca.txt> (and especially the web page given
 	  there) before attempting to build an MCA bus kernel.
 
-config MCA
-	depends on X86_VOYAGER
-	default y if X86_VOYAGER
-
 source "drivers/mca/Kconfig"
 
 config SCx200
diff -puN arch/i386/Kconfig.debug~bk-kconfig arch/i386/Kconfig.debug
--- 25/arch/i386/Kconfig.debug~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/arch/i386/Kconfig.debug	2005-03-03 22:50:44.000000000 -0800
@@ -3,7 +3,7 @@ menu "Kernel hacking"
 source "lib/Kconfig.debug"
 
 config EARLY_PRINTK
-	bool "Early printk" if EMBEDDED
+	bool "Early printk" if EMBEDDED && DEBUG_KERNEL
 	default y
 	help
 	  Write kernel log output directly into the VGA buffer or to a serial
@@ -48,6 +48,7 @@ config DEBUG_PAGEALLOC
 
 config 4KSTACKS
 	bool "Use 4Kb for kernel stacks instead of 8Kb"
+	depends on DEBUG_KERNEL
 	help
 	  If you say Y here the kernel will use a 4Kb stacksize for the
 	  kernel stack attached to each process/thread. This facilitates
diff -puN arch/i386/kernel/cpu/cpufreq/Kconfig~bk-kconfig arch/i386/kernel/cpu/cpufreq/Kconfig
--- 25/arch/i386/kernel/cpu/cpufreq/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/arch/i386/kernel/cpu/cpufreq/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -6,22 +6,14 @@ menu "CPU Frequency scaling"
 
 source "drivers/cpufreq/Kconfig"
 
-config CPU_FREQ_TABLE
-       tristate "CPU frequency table helpers"
-       depends on CPU_FREQ
-       default y
-       help
-         Many CPUFreq drivers use these helpers, so only say N here if
-	 the CPUFreq driver of your choice doesn't need these helpers.
-
-	 If in doubt, say Y.
+if CPU_FREQ
 
 comment "CPUFreq processor drivers"
-       depends on CPU_FREQ
 
 config X86_ACPI_CPUFREQ
 	tristate "ACPI Processor P-States driver"
-	depends on CPU_FREQ_TABLE && ACPI_PROCESSOR
+	select CPU_FREQ_TABLE
+	depends on ACPI_PROCESSOR
 	help
 	  This driver adds a CPUFreq driver which utilizes the ACPI
 	  Processor Performance States.
@@ -32,7 +24,8 @@ config X86_ACPI_CPUFREQ
 
 config ELAN_CPUFREQ
 	tristate "AMD Elan"
-	depends on CPU_FREQ_TABLE && X86_ELAN
+	select CPU_FREQ_TABLE
+	depends on X86_ELAN
 	---help---
 	  This adds the CPUFreq driver for AMD Elan SC400 and SC410
 	  processors.
@@ -47,7 +40,7 @@ config ELAN_CPUFREQ
 
 config X86_POWERNOW_K6
 	tristate "AMD Mobile K6-2/K6-3 PowerNow!"
-	depends on CPU_FREQ_TABLE
+	select CPU_FREQ_TABLE
 	help
 	  This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
 	  AMD K6-3+ processors.
@@ -58,7 +51,7 @@ config X86_POWERNOW_K6
 
 config X86_POWERNOW_K7
 	tristate "AMD Mobile Athlon/Duron PowerNow!"
-	depends on CPU_FREQ_TABLE
+	select CPU_FREQ_TABLE
 	help
 	  This adds the CPUFreq driver for mobile AMD K7 mobile processors.
 
@@ -68,12 +61,14 @@ config X86_POWERNOW_K7
 
 config X86_POWERNOW_K7_ACPI
 	bool
-	depends on ((X86_POWERNOW_K7 = "m" && ACPI_PROCESSOR) || (X86_POWERNOW_K7 = "y" && ACPI_PROCESSOR = "y"))
+	depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
+	depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
 	default y
 
 config X86_POWERNOW_K8
 	tristate "AMD Opteron/Athlon64 PowerNow!"
-	depends on CPU_FREQ_TABLE && EXPERIMENTAL
+	select CPU_FREQ_TABLE
+	depends on EXPERIMENTAL
 	help
 	  This adds the CPUFreq driver for mobile AMD Opteron/Athlon64 processors.
 
@@ -83,12 +78,12 @@ config X86_POWERNOW_K8
 
 config X86_POWERNOW_K8_ACPI
 	bool
-	depends on ((X86_POWERNOW_K8 = "m" && ACPI_PROCESSOR) || (X86_POWERNOW_K8 = "y" && ACPI_PROCESSOR = "y"))
+	depends on X86_POWERNOW_K8 && ACPI_PROCESSOR
+	depends on !(X86_POWERNOW_K8 = y && ACPI_PROCESSOR = m)
 	default y
 
 config X86_GX_SUSPMOD
 	tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
-	depends on CPU_FREQ
 	help
 	 This add the CPUFreq driver for NatSemi Geode processors which
 	 support suspend modulation.
@@ -99,7 +94,7 @@ config X86_GX_SUSPMOD
 
 config X86_SPEEDSTEP_CENTRINO
 	tristate "Intel Enhanced SpeedStep"
-	depends on CPU_FREQ_TABLE
+	select CPU_FREQ_TABLE
 	select X86_SPEEDSTEP_CENTRINO_TABLE if (!X86_SPEEDSTEP_CENTRINO_ACPI)
 	help
 	  This adds the CPUFreq driver for Enhanced SpeedStep enabled
@@ -114,8 +109,8 @@ config X86_SPEEDSTEP_CENTRINO
 
 config X86_SPEEDSTEP_CENTRINO_ACPI
 	bool "Use ACPI tables to decode valid frequency/voltage pairs"
-	depends on X86_SPEEDSTEP_CENTRINO
-	depends on ((X86_SPEEDSTEP_CENTRINO = "m" && ACPI_PROCESSOR) || (X86_SPEEDSTEP_CENTRINO = "y" && ACPI_PROCESSOR = "y"))
+	depends on X86_SPEEDSTEP_CENTRINO && ACPI_PROCESSOR
+	depends on !(X86_SPEEDSTEP_CENTRINO = y && ACPI_PROCESSOR = m)
 	default y
 	help
 	  Use primarily the information provided in the BIOS ACPI tables
@@ -136,7 +131,7 @@ config X86_SPEEDSTEP_CENTRINO_TABLE
 
 config X86_SPEEDSTEP_ICH
 	tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
-	depends on CPU_FREQ_TABLE
+	select CPU_FREQ_TABLE
 	help
 	  This adds the CPUFreq driver for certain mobile Intel Pentium III
 	  (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
@@ -149,7 +144,8 @@ config X86_SPEEDSTEP_ICH
 
 config X86_SPEEDSTEP_SMI
 	tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
-	depends on CPU_FREQ_TABLE && EXPERIMENTAL
+	select CPU_FREQ_TABLE
+	depends on EXPERIMENTAL
 	help
 	  This adds the CPUFreq driver for certain mobile Intel Pentium III
 	  (Coppermine), all mobile Intel Pentium III-M (Tualatin)  
@@ -161,7 +157,7 @@ config X86_SPEEDSTEP_SMI
 
 config X86_P4_CLOCKMOD
 	tristate "Intel Pentium 4 clock modulation"
-	depends on CPU_FREQ_TABLE
+	select CPU_FREQ_TABLE
 	help
 	  This adds the CPUFreq driver for Intel Pentium 4 / XEON
 	  processors.
@@ -172,7 +168,7 @@ config X86_P4_CLOCKMOD
 
 config X86_CPUFREQ_NFORCE2
 	tristate "nVidia nForce2 FSB changing"
-	depends on CPU_FREQ && EXPERIMENTAL
+	depends on EXPERIMENTAL
 	help
 	  This adds the CPUFreq driver for FSB changing on nVidia nForce2
 	  platforms.
@@ -183,7 +179,6 @@ config X86_CPUFREQ_NFORCE2
 
 config X86_LONGRUN
 	tristate "Transmeta LongRun"
-	depends on CPU_FREQ
 	help
 	  This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
 	  which support LongRun.
@@ -194,7 +189,7 @@ config X86_LONGRUN
 
 config X86_LONGHAUL
 	tristate "VIA Cyrix III Longhaul"
-	depends on CPU_FREQ_TABLE
+	select CPU_FREQ_TABLE
 	help
 	  This adds the CPUFreq driver for VIA Samuel/CyrixIII, 
 	  VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T 
@@ -205,7 +200,6 @@ config X86_LONGHAUL
 	  If in doubt, say N.
 
 comment "shared options"
-	depends on CPU_FREQ
 
 config X86_ACPI_CPUFREQ_PROC_INTF
         bool "/proc/acpi/processor/../performance interface (deprecated)"
@@ -220,8 +214,7 @@ config X86_ACPI_CPUFREQ_PROC_INTF
 
 config X86_SPEEDSTEP_LIB
 	tristate
-	depends on (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
-	default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
+	default X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD
 
 config X86_SPEEDSTEP_RELAXED_CAP_CHECK
 	bool "Relaxed speedstep capability checks"
@@ -233,5 +226,6 @@ config X86_SPEEDSTEP_RELAXED_CAP_CHECK
 	  option lets the probing code bypass some of those checks if the
 	  parameter "relaxed_check=1" is passed to the module.
 
+endif	# CPU_FREQ
 
 endmenu
diff -puN drivers/acpi/Kconfig~bk-kconfig drivers/acpi/Kconfig
--- 25/drivers/acpi/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/acpi/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -45,16 +45,18 @@ config ACPI_BOOT
 	depends on ACPI || X86_HT
 	default y
 
+if ACPI
+
 config ACPI_INTERPRETER
 	bool
-	depends on ACPI
 	depends on !IA64_SGI_SN
 	default y
 
+if ACPI_INTERPRETER
+
 config ACPI_SLEEP
 	bool "Sleep States (EXPERIMENTAL)"
-	depends on X86 && ACPI
-	depends on ACPI_INTERPRETER
+	depends on X86
 	depends on EXPERIMENTAL && PM
 	default y
 	---help---
@@ -81,7 +83,6 @@ config ACPI_SLEEP_PROC_FS
 config ACPI_AC
 	tristate "AC Adapter"
 	depends on X86
-	depends on ACPI_INTERPRETER
 	default m
 	help
 	  This driver adds support for the AC Adapter object, which indicates
@@ -91,7 +92,6 @@ config ACPI_AC
 config ACPI_BATTERY
 	tristate "Battery"
 	depends on X86
-	depends on ACPI_INTERPRETER
 	default m
 	help
 	  This driver adds support for battery information through
@@ -100,7 +100,6 @@ config ACPI_BATTERY
 
 config ACPI_BUTTON
 	tristate "Button"
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default m
 	help
@@ -112,7 +111,6 @@ config ACPI_BUTTON
 
 config ACPI_VIDEO
 	tristate "Video"
-	depends on ACPI_INTERPRETER
 	depends on EXPERIMENTAL
 	depends on !IA64_SGI_SN
 	default m
@@ -127,7 +125,6 @@ config ACPI_VIDEO
 
 config ACPI_FAN
 	tristate "Fan"
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default m
 	help
@@ -136,7 +133,6 @@ config ACPI_FAN
 
 config ACPI_PROCESSOR
 	tristate "Processor"
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default m
 	help
@@ -165,7 +161,6 @@ config ACPI_THERMAL
 
 config ACPI_NUMA
 	bool "NUMA support"
-	depends on ACPI_INTERPRETER
 	depends on NUMA
 	depends on (IA64 || X86_64)
 	default y if IA64_GENERIC || IA64_SGI_SN2
@@ -173,7 +168,6 @@ config ACPI_NUMA
 config ACPI_ASUS
         tristate "ASUS/Medion Laptop Extras"
 	depends on X86
-	depends on ACPI_INTERPRETER
 	default m
         ---help---
           This driver provides support for extra features of ACPI-compatible
@@ -203,7 +197,6 @@ config ACPI_ASUS
 config ACPI_IBM
 	tristate "IBM ThinkPad Laptop Extras"
 	depends on X86
-	depends on ACPI_INTERPRETER
 	default m
 	---help---
 	  This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
@@ -217,7 +210,6 @@ config ACPI_IBM
 config ACPI_TOSHIBA
 	tristate "Toshiba Laptop Extras"
 	depends on X86
-	depends on ACPI_INTERPRETER
 	default m
 	---help---
 	  This driver adds support for access to certain system settings
@@ -244,7 +236,7 @@ config ACPI_TOSHIBA
 
 config ACPI_CUSTOM_DSDT
 	bool "Include Custom DSDT"
-	depends on ACPI_INTERPRETER && !STANDALONE
+	depends on !STANDALONE
 	default n 
 	help
 	  Thist option is to load a custom ACPI DSDT
@@ -271,7 +263,6 @@ config ACPI_BLACKLIST_YEAR
 
 config ACPI_DEBUG
 	bool "Debug Statements"
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default n
 	help
@@ -281,14 +272,12 @@ config ACPI_DEBUG
 
 config ACPI_BUS
 	bool
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default y
 
 config ACPI_EC
 	bool
 	depends on X86
-	depends on ACPI_INTERPRETER
 	default y
 	help
 	  This driver is required on some systems for the proper operation of
@@ -297,28 +286,27 @@ config ACPI_EC
 
 config ACPI_POWER
 	bool
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default y
 
 config ACPI_PCI
 	bool
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default PCI
 
 config ACPI_SYSTEM
 	bool
-	depends on ACPI_INTERPRETER
 	depends on !IA64_SGI_SN
 	default y
 	help
 	  This driver will enable your system to shut down using ACPI, and
 	  dump your ACPI DSDT table using /proc/acpi/dsdt.
 
+endif	# ACPI_INTERPRETER
+
 config X86_PM_TIMER
 	bool "Power Management Timer Support"
-	depends on X86 && ACPI
+	depends on X86
 	depends on ACPI_BOOT && EXPERIMENTAL
 	depends on !X86_64
 	default n
@@ -337,12 +325,14 @@ config X86_PM_TIMER
 
 config ACPI_CONTAINER
 	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
-	depends on ACPI && EXPERIMENTAL
+	depends on EXPERIMENTAL
 	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
 	 ---help---
 	 	This is the ACPI generic container driver which supports
 		ACPI0004, PNP0A05 and PNP0A06 devices
 
+endif	# ACPI
+
 config ACPI_HOTPLUG_MEMORY
 	tristate "Memory Hotplug"
 	depends on ACPI
diff -puN drivers/cpufreq/Kconfig~bk-kconfig drivers/cpufreq/Kconfig
--- 25/drivers/cpufreq/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/cpufreq/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -13,9 +13,13 @@ config CPU_FREQ
 
 	  If in doubt, say N.
 
+if CPU_FREQ
+
+config CPU_FREQ_TABLE
+       def_tristate m
+
 config CPU_FREQ_DEBUG
 	bool "Enable CPUfreq debugging"
-	depends on CPU_FREQ
 	help
 	  Say Y here to enable CPUfreq subsystem (including drivers)
 	  debugging. You will need to activate it via the kernel
@@ -29,7 +33,7 @@ config CPU_FREQ_DEBUG
 
 config CPU_FREQ_STAT
        tristate "CPU frequency translation statistics"
-       depends on CPU_FREQ && CPU_FREQ_TABLE
+       select CPU_FREQ_TABLE
        default y
        help
          This driver exports CPU frequency statistics information through sysfs
@@ -37,17 +41,15 @@ config CPU_FREQ_STAT
 
 config CPU_FREQ_STAT_DETAILS
        bool "CPU frequency translation statistics details"
-       depends on CPU_FREQ && CPU_FREQ_STAT
-       default n
+       depends on CPU_FREQ_STAT
        help
          This will show detail CPU frequency translation table in sysfs file
          system
 
 choice
 	prompt "Default CPUFreq governor"
-	depends on CPU_FREQ
-	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE if !CPU_FREQ_SA1100 && !CPU_FREQ_SA1110
 	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
+	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
 	help
 	  This option sets which CPUFreq governor shall be loaded at
 	  startup. If in doubt, select 'performance'.
@@ -73,7 +75,6 @@ endchoice
 
 config CPU_FREQ_GOV_PERFORMANCE
        tristate "'performance' governor"
-       depends on CPU_FREQ
        help
 	  This cpufreq governor sets the frequency statically to the
 	  highest available CPU frequency.
@@ -82,7 +83,6 @@ config CPU_FREQ_GOV_PERFORMANCE
 
 config CPU_FREQ_GOV_POWERSAVE
        tristate "'powersave' governor"
-       depends on CPU_FREQ
        help
 	  This cpufreq governor sets the frequency statically to the
 	  lowest available CPU frequency.
@@ -91,7 +91,6 @@ config CPU_FREQ_GOV_POWERSAVE
 
 config CPU_FREQ_GOV_USERSPACE
        tristate "'userspace' governor for userspace frequency scaling"
-       depends on CPU_FREQ 
        help
 	  Enable this cpufreq governor when you either want to set the
 	  CPU frequency manually or when an userspace program shall
@@ -104,7 +103,6 @@ config CPU_FREQ_GOV_USERSPACE
 
 config CPU_FREQ_GOV_ONDEMAND
 	tristate "'ondemand' cpufreq policy governor"
-	depends on CPU_FREQ
 	help
 	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
 	  The governor does a periodic polling and 
@@ -116,3 +114,5 @@ config CPU_FREQ_GOV_ONDEMAND
 	  For details, take a look at linux/Documentation/cpu-freq.
 
 	  If in doubt, say N.
+
+endif	# CPU_FREQ
diff -puN drivers/mtd/Kconfig~bk-kconfig drivers/mtd/Kconfig
--- 25/drivers/mtd/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/mtd/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -27,6 +27,15 @@ config MTD_DEBUG_VERBOSE
 	help
 	  Determines the verbosity level of the MTD debugging messages.
 
+config MTD_CONCAT
+	tristate "MTD concatenating support"
+	depends on MTD
+	help
+	  Support for concatenating several MTD devices into a single
+	  (virtual) one. This allows you to have -for example- a JFFS(2)
+	  file system spanning multiple physical flash chips. If unsure,
+	  say 'Y'.
+
 config MTD_PARTITIONS
 	bool "MTD partitioning support"
 	depends on MTD
@@ -40,15 +49,6 @@ config MTD_PARTITIONS
 	  devices. Partitioning on NFTL 'devices' is a different - that's the
 	  'normal' form of partitioning used on a block device.
 
-config MTD_CONCAT
-	tristate "MTD concatenating support"
-	depends on MTD
-	help
-	  Support for concatenating several MTD devices into a single
-	  (virtual) one. This allows you to have -for example- a JFFS(2)
-	  file system spanning multiple physical flash chips. If unsure,
-	  say 'Y'.
-
 config MTD_REDBOOT_PARTS
 	tristate "RedBoot partition table parsing"
 	depends on MTD_PARTITIONS
diff -puN drivers/parport/Kconfig~bk-kconfig drivers/parport/Kconfig
--- 25/drivers/parport/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/parport/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -46,15 +46,9 @@ config PARPORT_PC
 
 	  If unsure, say Y.
 
-config PARPORT_PC_CML1
-	tristate
-	depends on PARPORT!=n && PARPORT_PC!=n
-	default PARPORT_PC if SERIAL_8250=y
-	default m if SERIAL_8250=m
-
 config PARPORT_SERIAL
 	tristate "Multi-IO cards (parallel and serial)"
-	depends on SERIAL_8250!=n && PARPORT_PC_CML1 && PCI
+	depends on SERIAL_8250 && PARPORT_PC && PCI
 	help
 	  This adds support for multi-IO PCI cards that have parallel and
 	  serial ports.  You should say Y or M here.  If you say M, the module
@@ -118,8 +112,8 @@ config PARPORT_ATARI
 
 config PARPORT_GSC
 	tristate
-	depends on GSC
-	default PARPORT
+	default GSC
+	depends on PARPORT
 
 config PARPORT_SUNBPP
 	tristate "Sparc hardware (EXPERIMENTAL)"
diff -puN drivers/pci/Kconfig~bk-kconfig drivers/pci/Kconfig
--- 25/drivers/pci/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/pci/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -3,8 +3,8 @@
 #
 config PCI_MSI
 	bool "Message Signaled Interrupts (MSI and MSI-X)"
+	depends on PCI
 	depends on (X86_LOCAL_APIC && X86_IO_APIC) || IA64
-	default n
 	help
 	   This allows device drivers to enable MSI (Message Signaled
 	   Interrupts).  Message Signaled Interrupts enable a device to
diff -puN drivers/pci/pcie/Kconfig~bk-kconfig drivers/pci/pcie/Kconfig
--- 25/drivers/pci/pcie/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/pci/pcie/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -3,8 +3,8 @@
 #
 config PCIEPORTBUS
 	bool "PCI Express support"
+	depends on PCI
 	depends on PCI_GOMMCONFIG || PCI_GOANY
-	default n
 
 	---help---
 	This automatically enables PCI Express Port Bus support. Users can
diff -puN drivers/pcmcia/Kconfig~bk-kconfig drivers/pcmcia/Kconfig
--- 25/drivers/pcmcia/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/pcmcia/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -20,9 +20,10 @@ config PCCARD
 	  To compile this driver as modules, choose M here: the
 	  module will be called pcmcia_core.
 
+if PCCARD
+
 config PCMCIA_DEBUG
 	bool "Enable PCCARD debugging"
-	depends on PCCARD != n
 	help
 	  Say Y here to enable PCMCIA subsystem debugging.  You
 	  will need to choose the debugging level either via the
@@ -41,7 +42,6 @@ config PCMCIA_DEBUG
 
 config PCMCIA
 	tristate "16-bit PCMCIA support"
-	depends on PCCARD
 	default y
 	---help---
 	   This option enables support for 16-bit PCMCIA cards. Most older
@@ -60,7 +60,7 @@ config PCMCIA
 
 config CARDBUS
 	bool "32-bit CardBus support"	
-	depends on PCCARD && PCI
+	depends on PCI
 	default y
 	---help---
 	  CardBus is a bus mastering architecture for PC-cards, which allows
@@ -77,7 +77,7 @@ comment "PC-card bridges"
 
 config YENTA
 	tristate "CardBus yenta-compatible bridge support"
-	depends on PCCARD && PCI
+	depends on PCI
 #fixme: remove dependendcy on CARDBUS
 	depends on CARDBUS
 	select PCCARD_NONSTATIC
@@ -197,6 +197,7 @@ config PCMCIA_VRC4173
 
 config PCCARD_NONSTATIC
 	tristate
-	depends on PCCARD
+
+endif	# PCCARD
 
 endmenu
diff -puN drivers/usb/host/Kconfig~bk-kconfig drivers/usb/host/Kconfig
--- 25/drivers/usb/host/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/usb/host/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -1,21 +1,3 @@
-# Host-side USB depends on having a host controller
-# NOTE:  dummy_hcd is always an option, but it's ignored here ...
-# NOTE:  SL-811 option should be board-specific ...
-config USB_ARCH_HAS_HCD
-	boolean
-	default y if USB_ARCH_HAS_OHCI
-	default y if ARM				# SL-811
-	default PCI
-
-# many non-PCI hcds implement OHCI
-config USB_ARCH_HAS_OHCI
-	boolean
-	default y if SA1111
-	default y if ARCH_OMAP
-	default y if ARCH_LH7A404
-	default y if PXA27x
-	default PCI
-
 #
 # USB Host Controller Drivers
 #
diff -puN drivers/usb/Kconfig~bk-kconfig drivers/usb/Kconfig
--- 25/drivers/usb/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/usb/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -4,6 +4,24 @@
 
 menu "USB support"
 
+# Host-side USB depends on having a host controller
+# NOTE:  dummy_hcd is always an option, but it's ignored here ...
+# NOTE:  SL-811 option should be board-specific ...
+config USB_ARCH_HAS_HCD
+	boolean
+	default y if USB_ARCH_HAS_OHCI
+	default y if ARM				# SL-811
+	default PCI
+
+# many non-PCI hcds implement OHCI
+config USB_ARCH_HAS_OHCI
+	boolean
+	default y if SA1111
+	default y if ARCH_OMAP
+	default y if ARCH_LH7A404
+	default y if PXA27x
+	default PCI
+
 # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
 config USB
 	tristate "Support for Host-side USB"
diff -puN drivers/usb/storage/Kconfig~bk-kconfig drivers/usb/storage/Kconfig
--- 25/drivers/usb/storage/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/usb/storage/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -3,6 +3,7 @@
 #
 
 comment "NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information"
+	depends on USB
 
 config USB_STORAGE
 	tristate "USB Mass Storage support"
diff -puN drivers/video/Kconfig~bk-kconfig drivers/video/Kconfig
--- 25/drivers/video/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/drivers/video/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -1062,7 +1062,7 @@ config FB_G364
 
 config FB_68328
 	bool "Motorola 68328 native frame buffer support"
-	depends on (M68328 || M68EZ328 || M68VZ328)
+	depends on FB && (M68328 || M68EZ328 || M68VZ328)
 	help
 	  Say Y here if you want to support the built-in frame buffer of
 	  the Motorola 68328 CPU family.
@@ -1081,22 +1081,8 @@ config FB_PXA
 
 	  If unsure, say N.
 
-config FB_W100
-	tristate "W100 frame buffer support"
-	depends on FB && PXA_SHARPSL
-	---help---
-	  Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
-
-	  This driver is also available as a module ( = code which can be
-	  inserted and removed from the running kernel whenever you want). The
-	  module will be called vfb. If you want to compile it as a module,
-	  say M here and read <file:Documentation/modules.txt>.
-
-	  If unsure, say N.
-
 config FB_PXA_PARAMETERS
 	bool "PXA LCD command line parameters"
-	default n
 	depends on FB_PXA
 	---help---
 	  Enable the use of kernel command line or module parameters
@@ -1111,6 +1097,19 @@ config FB_PXA_PARAMETERS
 
 	  <file:Documentation/fb/pxafb.txt> describes the available parameters.
 
+config FB_W100
+	tristate "W100 frame buffer support"
+	depends on FB && PXA_SHARPSL
+	---help---
+	  Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
+
+	  This driver is also available as a module ( = code which can be
+	  inserted and removed from the running kernel whenever you want). The
+	  module will be called vfb. If you want to compile it as a module,
+	  say M here and read <file:Documentation/modules.txt>.
+
+	  If unsure, say N.
+
 config FB_VIRTUAL
 	tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
 	depends on FB
diff -puN init/Kconfig~bk-kconfig init/Kconfig
--- 25/init/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/init/Kconfig	2005-03-03 22:50:44.000000000 -0800
@@ -157,7 +157,6 @@ config SYSCTL
 config AUDIT
 	bool "Auditing support"
 	default y if SECURITY_SELINUX
-	default n
 	help
 	  Enable auditing infrastructure that can be used with another
 	  kernel subsystem, such as SELinux (which requires this for
@@ -168,29 +167,11 @@ config AUDITSYSCALL
 	bool "Enable system-call auditing support"
 	depends on AUDIT && (X86 || PPC64 || ARCH_S390 || IA64)
 	default y if SECURITY_SELINUX
-	default n
 	help
 	  Enable low-overhead system-call auditing infrastructure that
 	  can be used independently or with another kernel subsystem,
 	  such as SELinux.
 
-config LOG_BUF_SHIFT
-	int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
-	range 12 21
-	default 17 if ARCH_S390
-	default 16 if X86_NUMAQ || IA64
-	default 15 if SMP
-	default 14
-	help
-	  Select kernel log buffer size as a power of 2.
-	  Defaults and Examples:
-	  	     17 => 128 KB for S/390
-		     16 => 64 KB for x86 NUMAQ or IA-64
-	             15 => 32 KB for SMP
-	             14 => 16 KB for uniprocessor
-		     13 =>  8 KB
-		     12 =>  4 KB
-
 config HOTPLUG
 	bool "Support for hot-pluggable devices" if !ARCH_S390
 	default ARCH_S390
@@ -294,7 +275,6 @@ config EPOLL
 config CC_OPTIMIZE_FOR_SIZE
 	bool "Optimize for size" if EMBEDDED
 	default y if ARM || H8300
-	default n
 	help
 	  Enabling this option will pass "-Os" instead of "-O2" to gcc
 	  resulting in a smaller kernel.
diff -puN lib/Kconfig.debug~bk-kconfig lib/Kconfig.debug
--- 25/lib/Kconfig.debug~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/lib/Kconfig.debug	2005-03-03 22:50:44.000000000 -0800
@@ -1,14 +1,13 @@
 
 config DEBUG_KERNEL
 	bool "Kernel debugging"
-	depends on (ALPHA || ARM || CRIS || H8300 || X86 || IA64 || M32R || M68K || M68KNOMMU || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SUPERH || SUPERH64 || SPARC32 || SPARC64 || USERMODE || V850 || X86_64)
 	help
 	  Say Y here if you are developing drivers or trying to debug and
 	  identify kernel problems.
 
 config MAGIC_SYSRQ
 	bool "Magic SysRq key"
-	depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SUPERH || SUPERH64 || SPARC32 || SPARC64 || X86_64 || USERMODE)
+	depends on DEBUG_KERNEL
 	help
 	  If you say Y here, you will have some control over the system even
 	  if the system crashes for example during kernel debugging (e.g., you
@@ -20,12 +19,22 @@ config MAGIC_SYSRQ
 	  keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
 	  unless you really know what this hack does.
 
-config MAGIC_SYSRQ
-	bool "Magic SysRq key"
-	depends on DEBUG_KERNEL && (H8300 || M68KNOMMU || V850)
-	help
-	  Enables console device to interpret special characters as
-	  commands to dump state information.
+config LOG_BUF_SHIFT
+	int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
+	range 12 21
+	default 17 if ARCH_S390
+	default 16 if X86_NUMAQ || IA64
+	default 15 if SMP
+	default 14
+	help
+	  Select kernel log buffer size as a power of 2.
+	  Defaults and Examples:
+	  	     17 => 128 KB for S/390
+		     16 => 64 KB for x86 NUMAQ or IA-64
+	             15 => 32 KB for SMP
+	             14 => 16 KB for uniprocessor
+		     13 =>  8 KB
+		     12 =>  4 KB
 
 config SCHEDSTATS
 	bool "Collect scheduler statistics"
@@ -41,7 +50,7 @@ config SCHEDSTATS
 
 config DEBUG_SLAB
 	bool "Debug memory allocations"
-	depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || SPARC32 || SPARC64 || USERMODE || X86_64)
+	depends on DEBUG_KERNEL
 	help
 	  Say Y here to have the kernel do limited verification on memory
 	  allocation as well as poisoning memory on free to catch use of freed
@@ -49,7 +58,7 @@ config DEBUG_SLAB
 
 config DEBUG_PREEMPT
 	bool "Debug preemptible kernel"
-	depends on PREEMPT
+	depends on DEBUG_KERNEL && PREEMPT
 	default y
 	help
 	  If you say Y here then the kernel will use a debug variant of the
@@ -59,7 +68,7 @@ config DEBUG_PREEMPT
 
 config DEBUG_SPINLOCK
 	bool "Spinlock debugging"
-	depends on DEBUG_KERNEL && (ALPHA || ARM || X86 || IA64 || M32R || MIPS || PARISC || PPC32 || (SUPERH && !SUPERH64) || SPARC32 || SPARC64 || USERMODE || X86_64)
+	depends on DEBUG_KERNEL
 	help
 	  Say Y here and build SMP to catch missing spinlock initialization
 	  and certain other kinds of spinlock errors commonly made.  This is
@@ -68,7 +77,7 @@ config DEBUG_SPINLOCK
 
 config DEBUG_SPINLOCK_SLEEP
 	bool "Sleep-inside-spinlock checking"
-	depends on DEBUG_KERNEL && (X86 || IA64 || M32R || MIPS || PPC32 || PPC64 || ARCH_S390 || SPARC32 || SPARC64 || USERMODE)
+	depends on DEBUG_KERNEL
 	help
 	  If you say Y here, various routines which may sleep will become very
 	  noisy if they are called with a spinlock held.
@@ -82,7 +91,7 @@ config DEBUG_KOBJECT
 
 config DEBUG_HIGHMEM
 	bool "Highmem debugging"
-	depends on DEBUG_KERNEL && HIGHMEM && (X86 || PPC32 || MIPS || SPARC32)
+	depends on DEBUG_KERNEL && HIGHMEM
 	help
 	  This options enables addition error checking for high memory systems.
 	  Disable for production systems.
@@ -98,7 +107,7 @@ config DEBUG_BUGVERBOSE
 
 config DEBUG_INFO
 	bool "Compile the kernel with debug info"
-	depends on DEBUG_KERNEL && (ALPHA || CRIS || X86 || IA64 || M32R || M68K || MIPS || PARISC || PPC32 || PPC64 || ARCH_S390 || (SUPERH && !SUPERH64) || SPARC64 || V850 || X86_64)
+	depends on DEBUG_KERNEL
 	help
           If you say Y here the resulting kernel image will include
 	  debugging info resulting in a larger kernel image.
@@ -109,13 +118,13 @@ config DEBUG_INFO
 	bool "Enable kernel debugging symbols"
 	depends on DEBUG_KERNEL && USERMODE
 	help
-        When this is enabled, the User-Mode Linux binary will include
-        debugging symbols.  This enlarges the binary by a few megabytes,
-        but aids in tracking down kernel problems in UML.  It is required
-        if you intend to do any kernel development.
+	  When this is enabled, the User-Mode Linux binary will include
+	  debugging symbols.  This enlarges the binary by a few megabytes,
+	  but aids in tracking down kernel problems in UML.  It is required
+	  if you intend to do any kernel development.
 
-        If you're truly short on disk space or don't expect to report any
-        bugs back to the UML developers, say N, otherwise say Y.
+	  If you're truly short on disk space or don't expect to report any
+	  bugs back to the UML developers, say N, otherwise say Y.
 
 config DEBUG_IOREMAP
 	bool "Enable ioremap() debugging"
@@ -140,13 +149,11 @@ config DEBUG_FS
 
 	  If unsure, say N.
 
-if !X86_64
 config FRAME_POINTER
 	bool "Compile the kernel with frame pointers"
-	depends on X86 || CRIS || M68KNOMMU
+	depends on DEBUG_KERNEL && ((X86 && !X86_64) || CRIS || M68K || M68KNOMMU)
 	help
 	  If you say Y here the resulting kernel image will be slightly larger
 	  and slower, but it will give very useful debugging information.
 	  If you don't debug the kernel, you can say N, but we may not be able
 	  to solve problems without frame pointers.
-endif
diff -puN scripts/kconfig/gconf.c~bk-kconfig scripts/kconfig/gconf.c
--- 25/scripts/kconfig/gconf.c~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/scripts/kconfig/gconf.c	2005-03-03 22:50:44.000000000 -0800
@@ -11,7 +11,6 @@
 #endif
 
 #include "lkc.h"
-#include "images.c"
 
 #include <glade/glade.h>
 #include <gtk/gtk.h>
@@ -1142,6 +1141,39 @@ on_treeview1_button_press_event(GtkWidge
 
 /* Conf management */
 
+static const char *xpm_menu[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"            ",
+"  .         ",
+"  ..        ",
+"  ...       ",
+"  ....      ",
+"  .....     ",
+"  ....      ",
+"  ...       ",
+"  ..        ",
+"  .         ",
+"            "};
+
+static const char *xpm_void[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            "};
 
 /* Fill a row of strings */
 static gchar **fill_row(struct menu *menu)
diff -puN sound/core/Kconfig~bk-kconfig sound/core/Kconfig
diff -puN sound/oss/Kconfig~bk-kconfig sound/oss/Kconfig
--- 25/sound/oss/Kconfig~bk-kconfig	2005-03-03 22:50:44.000000000 -0800
+++ 25-akpm/sound/oss/Kconfig	2005-03-03 22:50:45.000000000 -0800
@@ -858,6 +858,10 @@ config SOUND_SB
 	  You can say M here to compile this driver as a module; the module is
 	  called sb.
 
+config SOUND_KAHLUA
+	tristate "XpressAudio Sound Blaster emulation"
+	depends on SOUND_SB
+
 config SOUND_AWE32_SYNTH
 	tristate "AWE32 synth"
 	depends on SOUND_OSS
@@ -1082,10 +1086,6 @@ config SOUND_TVMIXER
 	  Support for audio mixer facilities on the BT848 TV frame-grabber
 	  card.
 
-config SOUND_KAHLUA
-	tristate "XpressAudio Sound Blaster emulation"
-	depends on SOUND_SB
-
 config SOUND_ALI5455
 	tristate "ALi5455 audio support"
 	depends on SOUND_PRIME!=n && PCI
_