* [patch] s390 kconfig cleanup, 2nd version.
@ 2006-06-30 12:26 Martin Schwidefsky
2006-06-30 12:39 ` Geert Uytterhoeven
` (2 more replies)
0 siblings, 3 replies; 30+ messages in thread
From: Martin Schwidefsky @ 2006-06-30 12:26 UTC (permalink / raw)
To: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew; +Cc: akpm
Hi folks,
it has been a few weeks since the s390 kconfig discussion died down.
I have put together a new patch that includes all of the suggestions
made so far. With this patch "make allyesconfig" and "make allmodconfig"
now works on s390.
Please check that it does not break anything on your favorite
architecture. It really shouldn't but you never know. I want to push
this patch soon.
blue skies,
Martin.
Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH
"Reality continues to ruin my life." - Calvin.
--
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
[patch] s390: kconfig cleanup.
Use common drivers/Kconfig instead of making copies of the required
options in drivers/s390/Kconfig. Since that would add a lot of other
options that do not make sense for a s390 machine, add "depends"
statements to all options and menues that should not be there for
s390.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/s390/Kconfig | 53 ++-------
arch/s390/kernel/Makefile | 4
drivers/block/Kconfig | 4
drivers/char/Kconfig | 13 +-
drivers/char/ipmi/Kconfig | 2
drivers/char/tpm/Kconfig | 1
drivers/crypto/Kconfig | 10 +
drivers/edac/Kconfig | 1
drivers/hwmon/Kconfig | 1
drivers/i2c/Kconfig | 1
drivers/ide/Kconfig | 1
drivers/ieee1394/Kconfig | 1
drivers/infiniband/Kconfig | 1
drivers/input/Kconfig | 1
drivers/isdn/Kconfig | 1
drivers/leds/Kconfig | 1
drivers/media/Kconfig | 1
drivers/message/fusion/Kconfig | 1
drivers/message/i2o/Kconfig | 1
drivers/misc/Kconfig | 1
drivers/mmc/Kconfig | 1
drivers/mtd/Kconfig | 1
drivers/net/phy/Kconfig | 3
drivers/net/wireless/Kconfig | 2
drivers/parport/Kconfig | 1
drivers/pnp/Kconfig | 1
drivers/rtc/Kconfig | 3
drivers/s390/Kconfig | 229 -----------------------------------------
drivers/s390/block/dasd.c | 2
drivers/s390/char/Kconfig | 153 +++++++++++++++++++++++++++
drivers/scsi/Kconfig | 2
drivers/serial/Kconfig | 1
drivers/spi/Kconfig | 1
drivers/telephony/Kconfig | 1
drivers/usb/Kconfig | 1
drivers/video/Kconfig | 1
drivers/w1/Kconfig | 1
include/asm-s390/param.h | 2
lib/Kconfig.debug | 2
net/ax25/Kconfig | 2
net/bluetooth/Kconfig | 2
net/irda/Kconfig | 2
sound/Kconfig | 1
43 files changed, 231 insertions(+), 284 deletions(-)
diff -urpN linux-2.6/arch/s390/Kconfig linux-2.6-patched/arch/s390/Kconfig
--- linux-2.6/arch/s390/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/arch/s390/Kconfig 2006-06-30 13:32:17.000000000 +0200
@@ -4,23 +4,19 @@
#
config MMU
- bool
- default y
+ def_bool y
config RWSEM_GENERIC_SPINLOCK
bool
config RWSEM_XCHGADD_ALGORITHM
- bool
- default y
+ def_bool y
config GENERIC_HWEIGHT
- bool
- default y
+ def_bool y
config GENERIC_CALIBRATE_DELAY
- bool
- default y
+ def_bool y
config GENERIC_BUST_SPINLOCK
bool
@@ -28,8 +24,7 @@ config GENERIC_BUST_SPINLOCK
mainmenu "Linux Kernel Configuration"
config S390
- bool
- default y
+ def_bool y
source "init/Kconfig"
@@ -110,13 +105,6 @@ config SYSVIPC_COMPAT
depends on COMPAT && SYSVIPC
default y
-config BINFMT_ELF32
- tristate "Kernel support for 31 bit ELF binaries"
- depends on COMPAT
- help
- This allows you to run 32-bit Linux/ELF binaries on your zSeries
- in 64 bit mode. Everybody wants this; say Y.
-
comment "Code generation options"
choice
@@ -216,6 +204,10 @@ config WARN_STACK_SIZE
This allows you to specify the maximum frame size a function may
have without the compiler complaining about it.
+comment "Kernel preemption"
+
+source "kernel/Kconfig.preempt"
+
source "mm/Kconfig"
comment "I/O subsystem configuration"
@@ -261,17 +253,6 @@ config QDIO_DEBUG
comment "Misc"
-config PREEMPT
- bool "Preemptible Kernel"
- help
- This option reduces the latency of the kernel when reacting to
- real-time or interactive events by allowing a low priority process to
- be preempted even if it is in kernel mode executing a system call.
- This allows applications to run more reliably even when the system is
- under load.
-
- Say N if you are unsure.
-
config IPL
bool "Builtin IPL record support"
help
@@ -427,6 +408,8 @@ config APPLDATA_NET_SUM
This can also be compiled as a module, which will be called
appldata_net_sum.o.
+source kernel/Kconfig.hz
+
config NO_IDLE_HZ
bool "No HZ timer ticks in idle"
help
@@ -467,18 +450,12 @@ endmenu
source "net/Kconfig"
config PCMCIA
- bool
- default n
-
-source "drivers/base/Kconfig"
-
-source "drivers/connector/Kconfig"
-
-source "drivers/scsi/Kconfig"
+ def_bool n
-source "drivers/s390/Kconfig"
+config CCW
+ def_bool y
-source "drivers/net/Kconfig"
+source "drivers/Kconfig"
source "fs/Kconfig"
diff -urpN linux-2.6/arch/s390/kernel/Makefile linux-2.6-patched/arch/s390/kernel/Makefile
--- linux-2.6/arch/s390/kernel/Makefile 2006-06-14 11:06:14.000000000 +0200
+++ linux-2.6-patched/arch/s390/kernel/Makefile 2006-06-30 13:32:52.000000000 +0200
@@ -17,8 +17,8 @@ obj-$(CONFIG_MODULES) += s390_ksyms.o m
obj-$(CONFIG_SMP) += smp.o
obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \
- compat_wrapper.o compat_exec_domain.o
-obj-$(CONFIG_BINFMT_ELF32) += binfmt_elf32.o
+ compat_wrapper.o compat_exec_domain.o \
+ binfmt_elf32.o
obj-$(CONFIG_VIRT_TIMER) += vtime.o
diff -urpN linux-2.6/drivers/block/Kconfig linux-2.6-patched/drivers/block/Kconfig
--- linux-2.6/drivers/block/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/block/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -448,8 +448,6 @@ config CDROM_PKTCDVD_WCACHE
this option is dangerous unless the CD-RW media is known good, as we
don't do deferred write error handling yet.
-source "drivers/s390/block/Kconfig"
-
config ATA_OVER_ETH
tristate "ATA over Ethernet support"
depends on NET
@@ -457,4 +455,6 @@ config ATA_OVER_ETH
This driver provides Support for ATA over Ethernet block
devices like the Coraid EtherDrive (R) Storage Blade.
+source "drivers/s390/block/Kconfig"
+
endmenu
diff -urpN linux-2.6/drivers/char/ipmi/Kconfig linux-2.6-patched/drivers/char/ipmi/Kconfig
--- linux-2.6/drivers/char/ipmi/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/char/ipmi/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -3,6 +3,8 @@
#
menu "IPMI"
+ depends on !S390
+
config IPMI_HANDLER
tristate 'IPMI top-level message handler'
help
diff -urpN linux-2.6/drivers/char/Kconfig linux-2.6-patched/drivers/char/Kconfig
--- linux-2.6/drivers/char/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/char/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -6,6 +6,7 @@ menu "Character devices"
config VT
bool "Virtual terminal" if EMBEDDED
+ depends on !S390
select INPUT
default y if !VIOCONS
---help---
@@ -81,6 +82,7 @@ config VT_HW_CONSOLE_BINDING
config SERIAL_NONSTANDARD
bool "Non-standard serial port support"
+ depends on !S390
---help---
Say Y here if you have any non-standard serial boards -- boards
which aren't supported using the standard "dumb" serial driver.
@@ -717,7 +719,7 @@ config NVRAM
config RTC
tristate "Enhanced Real Time Clock Support"
- depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM
+ depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !S390
---help---
If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you
@@ -765,7 +767,7 @@ config SGI_IP27_RTC
config GEN_RTC
tristate "Generic /dev/rtc emulation"
- depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV
+ depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV && !S390
---help---
If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you
@@ -818,6 +820,7 @@ config COBALT_LCD
config DTLK
tristate "Double Talk PC internal speech card support"
+ depends on ISA
help
This driver is for the DoubleTalk PC, a speech synthesizer
manufactured by RC Systems (<http://www.rcsys.com/>). It is also
@@ -872,6 +875,7 @@ config TANBAC_TB0219
select GPIO_VR41XX
menu "Ftape, the floppy tape device driver"
+ depends on BROKEN_ON_SMP && (ALPHA || X86)
config FTAPE
tristate "Ftape (QIC-80/Travan) support"
@@ -1035,7 +1039,7 @@ config HPET_MMAP
config HANGCHECK_TIMER
tristate "Hangcheck timer"
- depends on X86 || IA64 || PPC64
+ depends on X86 || IA64 || PPC64 || S390
help
The hangcheck-timer module detects when the system has gone
out to lunch past a certain margin. It can reboot the system
@@ -1054,6 +1058,7 @@ source "drivers/char/tpm/Kconfig"
config TELCLOCK
tristate "Telecom clock driver for MPBL0010 ATCA SBC"
depends on EXPERIMENTAL
+ depends on X86
default n
help
The telecom clock device is specific to the MPBL0010 ATCA computer and
@@ -1063,5 +1068,7 @@ config TELCLOCK
sysfs directory, /sys/devices/platform/telco_clock, with a number of
files for controlling the behavior of this hardware.
+source "drivers/s390/char/Kconfig"
+
endmenu
diff -urpN linux-2.6/drivers/char/tpm/Kconfig linux-2.6-patched/drivers/char/tpm/Kconfig
--- linux-2.6/drivers/char/tpm/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/char/tpm/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "TPM devices"
+ depends on !S390
config TCG_TPM
tristate "TPM Hardware Support"
diff -urpN linux-2.6/drivers/crypto/Kconfig linux-2.6-patched/drivers/crypto/Kconfig
--- linux-2.6/drivers/crypto/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/crypto/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -20,4 +20,14 @@ config CRYPTO_DEV_PADLOCK_AES
help
Use VIA PadLock for AES algorithm.
+config Z90CRYPT
+ tristate "Support for PCI-attached cryptographic adapters"
+ depends on S390
+ default "m"
+ help
+ Select this option if you want to use a PCI-attached cryptographic
+ adapter like the PCI Cryptographic Accelerator (PCICA) or the PCI
+ Cryptographic Coprocessor (PCICC). This option is also available
+ as a module called z90crypt.ko.
+
endmenu
diff -urpN linux-2.6/drivers/edac/Kconfig linux-2.6-patched/drivers/edac/Kconfig
--- linux-2.6/drivers/edac/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/edac/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -7,6 +7,7 @@
#
menu 'EDAC - error detection and reporting (RAS) (EXPERIMENTAL)'
+ depends on !S390
config EDAC
tristate "EDAC core system error reporting (EXPERIMENTAL)"
diff -urpN linux-2.6/drivers/hwmon/Kconfig linux-2.6-patched/drivers/hwmon/Kconfig
--- linux-2.6/drivers/hwmon/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/hwmon/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "Hardware Monitoring support"
+ depends on !S390
config HWMON
tristate "Hardware Monitoring support"
diff -urpN linux-2.6/drivers/i2c/Kconfig linux-2.6-patched/drivers/i2c/Kconfig
--- linux-2.6/drivers/i2c/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/i2c/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "I2C support"
+ depends on !S390
config I2C
tristate "I2C support"
diff -urpN linux-2.6/drivers/ide/Kconfig linux-2.6-patched/drivers/ide/Kconfig
--- linux-2.6/drivers/ide/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/ide/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -5,6 +5,7 @@
#
menu "ATA/ATAPI/MFM/RLL support"
+ depends on !S390
config IDE
tristate "ATA/ATAPI/MFM/RLL support"
diff -urpN linux-2.6/drivers/ieee1394/Kconfig linux-2.6-patched/drivers/ieee1394/Kconfig
--- linux-2.6/drivers/ieee1394/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/ieee1394/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -1,6 +1,7 @@
# -*- shell-script -*-
menu "IEEE 1394 (FireWire) support"
+ depends on PCI || BROKEN
config IEEE1394
tristate "IEEE 1394 (FireWire) support"
diff -urpN linux-2.6/drivers/infiniband/Kconfig linux-2.6-patched/drivers/infiniband/Kconfig
--- linux-2.6/drivers/infiniband/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/infiniband/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -1,4 +1,5 @@
menu "InfiniBand support"
+ depends on !S390
config INFINIBAND
depends on PCI || BROKEN
diff -urpN linux-2.6/drivers/input/Kconfig linux-2.6-patched/drivers/input/Kconfig
--- linux-2.6/drivers/input/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/input/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "Input device support"
+ depends on !S390
config INPUT
tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED
diff -urpN linux-2.6/drivers/isdn/Kconfig linux-2.6-patched/drivers/isdn/Kconfig
--- linux-2.6/drivers/isdn/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/isdn/Kconfig 2006-06-30 11:21:06.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "ISDN subsystem"
+ depends on !S390
config ISDN
tristate "ISDN support"
diff -urpN linux-2.6/drivers/leds/Kconfig linux-2.6-patched/drivers/leds/Kconfig
--- linux-2.6/drivers/leds/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/leds/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -1,5 +1,6 @@
menu "LED devices"
+ depends on !S390
config NEW_LEDS
bool "LED Support"
diff -urpN linux-2.6/drivers/media/Kconfig linux-2.6-patched/drivers/media/Kconfig
--- linux-2.6/drivers/media/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/media/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "Multimedia devices"
+ depends on !S390
config VIDEO_DEV
tristate "Video For Linux"
diff -urpN linux-2.6/drivers/message/fusion/Kconfig linux-2.6-patched/drivers/message/fusion/Kconfig
--- linux-2.6/drivers/message/fusion/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/message/fusion/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -1,5 +1,6 @@
menu "Fusion MPT device support"
+ depends on PCI
config FUSION
bool
diff -urpN linux-2.6/drivers/message/i2o/Kconfig linux-2.6-patched/drivers/message/i2o/Kconfig
--- linux-2.6/drivers/message/i2o/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/message/i2o/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -1,5 +1,6 @@
menu "I2O device support"
+ depends on PCI
config I2O
tristate "I2O support"
diff -urpN linux-2.6/drivers/misc/Kconfig linux-2.6-patched/drivers/misc/Kconfig
--- linux-2.6/drivers/misc/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/misc/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "Misc devices"
+ depends on !S390
config IBM_ASM
tristate "Device driver for IBM RSA service processor"
diff -urpN linux-2.6/drivers/mmc/Kconfig linux-2.6-patched/drivers/mmc/Kconfig
--- linux-2.6/drivers/mmc/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/mmc/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "MMC/SD Card support"
+ depends on !S390
config MMC
tristate "MMC support"
diff -urpN linux-2.6/drivers/mtd/Kconfig linux-2.6-patched/drivers/mtd/Kconfig
--- linux-2.6/drivers/mtd/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/mtd/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -1,6 +1,7 @@
# $Id: Kconfig,v 1.11 2005/11/07 11:14:19 gleixner Exp $
menu "Memory Technology Devices (MTD)"
+ depends on !S390
config MTD
tristate "Memory Technology Device (MTD) support"
diff -urpN linux-2.6/drivers/net/phy/Kconfig linux-2.6-patched/drivers/net/phy/Kconfig
--- linux-2.6/drivers/net/phy/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/net/phy/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,10 +3,11 @@
#
menu "PHY device support"
+ depends on !S390
config PHYLIB
tristate "PHY Device support and infrastructure"
- depends on NET_ETHERNET && (BROKEN || !S390)
+ depends on NET_ETHERNET
help
Ethernet controllers are usually attached to PHY
devices. This option provides infrastructure for
diff -urpN linux-2.6/drivers/net/wireless/Kconfig linux-2.6-patched/drivers/net/wireless/Kconfig
--- linux-2.6/drivers/net/wireless/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/net/wireless/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,7 +3,7 @@
#
menu "Wireless LAN (non-hamradio)"
- depends on NETDEVICES
+ depends on NETDEVICES && !S390
config NET_RADIO
bool "Wireless LAN drivers (non-hamradio) & Wireless Extensions"
diff -urpN linux-2.6/drivers/parport/Kconfig linux-2.6-patched/drivers/parport/Kconfig
--- linux-2.6/drivers/parport/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/parport/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -6,6 +6,7 @@
#
menu "Parallel port support"
+ depends on !S390
config PARPORT
tristate "Parallel port support"
diff -urpN linux-2.6/drivers/pnp/Kconfig linux-2.6-patched/drivers/pnp/Kconfig
--- linux-2.6/drivers/pnp/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/pnp/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "Plug and Play support"
+ depends on !S390
config PNP
bool "Plug and Play support"
diff -urpN linux-2.6/drivers/rtc/Kconfig linux-2.6-patched/drivers/rtc/Kconfig
--- linux-2.6/drivers/rtc/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/rtc/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -1,8 +1,9 @@
-\#
+#
# RTC class/drivers configuration
#
menu "Real Time Clock"
+ depends on !S390
config RTC_LIB
tristate
diff -urpN linux-2.6/drivers/s390/block/dasd.c linux-2.6-patched/drivers/s390/block/dasd.c
--- linux-2.6/drivers/s390/block/dasd.c 2006-06-30 13:51:21.000000000 +0200
+++ linux-2.6-patched/drivers/s390/block/dasd.c 2006-06-30 13:30:09.000000000 +0200
@@ -1821,7 +1821,7 @@ dasd_device_operations = {
};
-static void
+static void __exit
dasd_exit(void)
{
#ifdef CONFIG_PROC_FS
diff -urpN linux-2.6/drivers/s390/char/Kconfig linux-2.6-patched/drivers/s390/char/Kconfig
--- linux-2.6/drivers/s390/char/Kconfig 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6-patched/drivers/s390/char/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -0,0 +1,153 @@
+comment "S/390 character device drivers"
+
+config TN3270
+ tristate "Support for locally attached 3270 terminals"
+ help
+ Include support for IBM 3270 terminals.
+
+config TN3270_TTY
+ tristate "Support for tty input/output on 3270 terminals"
+ depends on TN3270
+ help
+ Include support for using an IBM 3270 terminal as a Linux tty.
+
+config TN3270_FS
+ tristate "Support for fullscreen applications on 3270 terminals"
+ depends on TN3270
+ help
+ Include support for fullscreen applications on an IBM 3270 terminal.
+
+config TN3270_CONSOLE
+ bool "Support for console on 3270 terminal"
+ depends on TN3270=y && TN3270_TTY=y
+ help
+ Include support for using an IBM 3270 terminal as a Linux system
+ console. Available only if 3270 support is compiled in statically.
+
+config TN3215
+ bool "Support for 3215 line mode terminal"
+ help
+ Include support for IBM 3215 line-mode terminals.
+
+config TN3215_CONSOLE
+ bool "Support for console on 3215 line mode terminal"
+ depends on TN3215
+ help
+ Include support for using an IBM 3215 line-mode terminal as a
+ Linux system console.
+
+config CCW_CONSOLE
+ bool
+ depends on TN3215_CONSOLE || TN3270_CONSOLE
+ default y
+
+config SCLP
+ bool "Support for SCLP"
+ help
+ Include support for the SCLP interface to the service element.
+
+config SCLP_TTY
+ bool "Support for SCLP line mode terminal"
+ depends on SCLP
+ help
+ Include support for IBM SCLP line-mode terminals.
+
+config SCLP_CONSOLE
+ bool "Support for console on SCLP line mode terminal"
+ depends on SCLP_TTY
+ help
+ Include support for using an IBM HWC line-mode terminal as the Linux
+ system console.
+
+config SCLP_VT220_TTY
+ bool "Support for SCLP VT220-compatible terminal"
+ depends on SCLP
+ help
+ Include support for an IBM SCLP VT220-compatible terminal.
+
+config SCLP_VT220_CONSOLE
+ bool "Support for console on SCLP VT220-compatible terminal"
+ depends on SCLP_VT220_TTY
+ help
+ Include support for using an IBM SCLP VT220-compatible terminal as a
+ Linux system console.
+
+config SCLP_CPI
+ tristate "Control-Program Identification"
+ depends on SCLP
+ help
+ This option enables the hardware console interface for system
+ identification. This is commonly used for workload management and
+ gives you a nice name for the system on the service element.
+ Please select this option as a module since built-in operation is
+ completely untested.
+ You should only select this option if you know what you are doing,
+ need this feature and intend to run your kernel in LPAR.
+
+config S390_TAPE
+ tristate "S/390 tape device support"
+ help
+ Select this option if you want to access channel-attached tape
+ devices on IBM S/390 or zSeries.
+ If you select this option you will also want to select at
+ least one of the tape interface options and one of the tape
+ hardware options in order to access a tape device.
+ This option is also available as a module. The module will be
+ called tape390 and include all selected interfaces and
+ hardware drivers.
+
+comment "S/390 tape interface support"
+ depends on S390_TAPE
+
+config S390_TAPE_BLOCK
+ bool "Support for tape block devices"
+ depends on S390_TAPE
+ help
+ Select this option if you want to access your channel-attached tape
+ devices using the block device interface. This interface is similar
+ to CD-ROM devices on other platforms. The tapes can only be
+ accessed read-only when using this interface. Have a look at
+ <file:Documentation/s390/TAPE> for further information about creating
+ volumes for and using this interface. It is safe to say "Y" here.
+
+comment "S/390 tape hardware support"
+ depends on S390_TAPE
+
+config S390_TAPE_34XX
+ tristate "Support for 3480/3490 tape hardware"
+ depends on S390_TAPE
+ help
+ Select this option if you want to access IBM 3480/3490 magnetic
+ tape subsystems and 100% compatibles.
+ It is safe to say "Y" here.
+
+config S390_TAPE_3590
+ tristate "Support for 3590 tape hardware"
+ depends on S390_TAPE
+ help
+ Select this option if you want to access IBM 3590 magnetic
+ tape subsystems and 100% compatibles.
+ It is safe to say "Y" here.
+
+config VMLOGRDR
+ tristate "Support for the z/VM recording system services (VM only)"
+ depends on IUCV
+ help
+ Select this option if you want to be able to receive records collected
+ by the z/VM recording system services, eg. from *LOGREC, *ACCOUNT or
+ *SYMPTOM.
+ This driver depends on the IUCV support driver.
+
+config VMCP
+ tristate "Support for the z/VM CP interface (VM only)"
+ help
+ Select this option if you want to be able to interact with the control
+ program on z/VM
+
+
+config MONREADER
+ tristate "API for reading z/VM monitor service records"
+ depends on IUCV
+ help
+ Character device driver for reading z/VM monitor service records
+
diff -urpN linux-2.6/drivers/s390/Kconfig linux-2.6-patched/drivers/s390/Kconfig
--- linux-2.6/drivers/s390/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/s390/Kconfig 1970-01-01 01:00:00.000000000 +0100
@@ -1,229 +0,0 @@
-config CCW
- bool
- default y
-
-source "drivers/block/Kconfig"
-
-source "drivers/md/Kconfig"
-
-
-menu "Character device drivers"
-
-config UNIX98_PTYS
- bool "Unix98 PTY support"
- ---help---
- A pseudo terminal (PTY) is a software device consisting of two
- halves: a master and a slave. The slave device behaves identical to
- a physical terminal; the master device is used by a process to
- read data from and write data to the slave, thereby emulating a
- terminal. Typical programs for the master side are telnet servers
- and xterms.
-
- Linux has traditionally used the BSD-like names /dev/ptyxx for
- masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
- has a number of problems. The GNU C library glibc 2.1 and later,
- however, supports the Unix98 naming standard: in order to acquire a
- pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
- terminal is then made available to the process and the pseudo
- terminal slave can be accessed as /dev/pts/<number>. What was
- traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
-
- The entries in /dev/pts/ are created on the fly by a virtual
- file system; therefore, if you say Y here you should say Y to
- "/dev/pts file system for Unix98 PTYs" as well.
-
- If you want to say Y here, you need to have the C library glibc 2.1
- or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
- Read the instructions in <file:Documentation/Changes> pertaining to
- pseudo terminals. It's safe to say N.
-
-config UNIX98_PTY_COUNT
- int "Maximum number of Unix98 PTYs in use (0-2048)"
- depends on UNIX98_PTYS
- default "256"
- help
- The maximum number of Unix98 PTYs that can be used at any one time.
- The default is 256, and should be enough for desktop systems. Server
- machines which support incoming telnet/rlogin/ssh connections and/or
- serve several X terminals may want to increase this: every incoming
- connection and every xterm uses up one PTY.
-
- When not in use, each additional set of 256 PTYs occupy
- approximately 8 KB of kernel memory on 32-bit architectures.
-
-config HANGCHECK_TIMER
- tristate "Hangcheck timer"
- help
- The hangcheck-timer module detects when the system has gone
- out to lunch past a certain margin. It can reboot the system
- or merely print a warning.
-
-source "drivers/char/watchdog/Kconfig"
-
-comment "S/390 character device drivers"
-
-config TN3270
- tristate "Support for locally attached 3270 terminals"
- help
- Include support for IBM 3270 terminals.
-
-config TN3270_TTY
- tristate "Support for tty input/output on 3270 terminals"
- depends on TN3270
- help
- Include support for using an IBM 3270 terminal as a Linux tty.
-
-config TN3270_FS
- tristate "Support for fullscreen applications on 3270 terminals"
- depends on TN3270
- help
- Include support for fullscreen applications on an IBM 3270 terminal.
-
-config TN3270_CONSOLE
- bool "Support for console on 3270 terminal"
- depends on TN3270=y && TN3270_TTY=y
- help
- Include support for using an IBM 3270 terminal as a Linux system
- console. Available only if 3270 support is compiled in statically.
-
-config TN3215
- bool "Support for 3215 line mode terminal"
- help
- Include support for IBM 3215 line-mode terminals.
-
-config TN3215_CONSOLE
- bool "Support for console on 3215 line mode terminal"
- depends on TN3215
- help
- Include support for using an IBM 3215 line-mode terminal as a
- Linux system console.
-
-config CCW_CONSOLE
- bool
- depends on TN3215_CONSOLE || TN3270_CONSOLE
- default y
-
-config SCLP
- bool "Support for SCLP"
- help
- Include support for the SCLP interface to the service element.
-
-config SCLP_TTY
- bool "Support for SCLP line mode terminal"
- depends on SCLP
- help
- Include support for IBM SCLP line-mode terminals.
-
-config SCLP_CONSOLE
- bool "Support for console on SCLP line mode terminal"
- depends on SCLP_TTY
- help
- Include support for using an IBM HWC line-mode terminal as the Linux
- system console.
-
-config SCLP_VT220_TTY
- bool "Support for SCLP VT220-compatible terminal"
- depends on SCLP
- help
- Include support for an IBM SCLP VT220-compatible terminal.
-
-config SCLP_VT220_CONSOLE
- bool "Support for console on SCLP VT220-compatible terminal"
- depends on SCLP_VT220_TTY
- help
- Include support for using an IBM SCLP VT220-compatible terminal as a
- Linux system console.
-
-config SCLP_CPI
- tristate "Control-Program Identification"
- depends on SCLP
- help
- This option enables the hardware console interface for system
- identification. This is commonly used for workload management and
- gives you a nice name for the system on the service element.
- Please select this option as a module since built-in operation is
- completely untested.
- You should only select this option if you know what you are doing,
- need this feature and intend to run your kernel in LPAR.
-
-config S390_TAPE
- tristate "S/390 tape device support"
- help
- Select this option if you want to access channel-attached tape
- devices on IBM S/390 or zSeries.
- If you select this option you will also want to select at
- least one of the tape interface options and one of the tape
- hardware options in order to access a tape device.
- This option is also available as a module. The module will be
- called tape390 and include all selected interfaces and
- hardware drivers.
-
-comment "S/390 tape interface support"
- depends on S390_TAPE
-
-config S390_TAPE_BLOCK
- bool "Support for tape block devices"
- depends on S390_TAPE
- help
- Select this option if you want to access your channel-attached tape
- devices using the block device interface. This interface is similar
- to CD-ROM devices on other platforms. The tapes can only be
- accessed read-only when using this interface. Have a look at
- <file:Documentation/s390/TAPE> for further information about creating
- volumes for and using this interface. It is safe to say "Y" here.
-
-comment "S/390 tape hardware support"
- depends on S390_TAPE
-
-config S390_TAPE_34XX
- tristate "Support for 3480/3490 tape hardware"
- depends on S390_TAPE
- help
- Select this option if you want to access IBM 3480/3490 magnetic
- tape subsystems and 100% compatibles.
- It is safe to say "Y" here.
-
-config S390_TAPE_3590
- tristate "Support for 3590 tape hardware"
- depends on S390_TAPE
- help
- Select this option if you want to access IBM 3590 magnetic
- tape subsystems and 100% compatibles.
- It is safe to say "Y" here.
-
-config VMLOGRDR
- tristate "Support for the z/VM recording system services (VM only)"
- depends on IUCV
- help
- Select this option if you want to be able to receive records collected
- by the z/VM recording system services, eg. from *LOGREC, *ACCOUNT or
- *SYMPTOM.
- This driver depends on the IUCV support driver.
-
-config VMCP
- tristate "Support for the z/VM CP interface (VM only)"
- help
- Select this option if you want to be able to interact with the control
- program on z/VM
-
-
-config MONREADER
- tristate "API for reading z/VM monitor service records"
- depends on IUCV
- help
- Character device driver for reading z/VM monitor service records
-
-endmenu
-
-menu "Cryptographic devices"
-
-config Z90CRYPT
- tristate "Support for PCI-attached cryptographic adapters"
- default "m"
- help
- Select this option if you want to use a PCI-attached cryptographic
- adapter like the PCI Cryptographic Accelerator (PCICA) or the PCI
- Cryptographic Coprocessor (PCICC). This option is also available
- as a module called z90crypt.ko.
-
-endmenu
diff -urpN linux-2.6/drivers/scsi/Kconfig linux-2.6-patched/drivers/scsi/Kconfig
--- linux-2.6/drivers/scsi/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/scsi/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -473,7 +473,7 @@ source "drivers/scsi/megaraid/Kconfig.me
config SCSI_SATA
tristate "Serial ATA (SATA) support"
- depends on SCSI
+ depends on SCSI && !S390
help
This driver family supports Serial ATA host controllers
and devices.
diff -urpN linux-2.6/drivers/serial/Kconfig linux-2.6-patched/drivers/serial/Kconfig
--- linux-2.6/drivers/serial/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/serial/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -5,6 +5,7 @@
#
menu "Serial drivers"
+ depends on !S390
#
# The new 8250/16550 serial drivers
diff -urpN linux-2.6/drivers/spi/Kconfig linux-2.6-patched/drivers/spi/Kconfig
--- linux-2.6/drivers/spi/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/spi/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -6,6 +6,7 @@
# fully appropriate there, so it'd need some thought to do well.
#
menu "SPI support"
+ depends on !S390
config SPI
bool "SPI support"
diff -urpN linux-2.6/drivers/telephony/Kconfig linux-2.6-patched/drivers/telephony/Kconfig
--- linux-2.6/drivers/telephony/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/telephony/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "Telephony Support"
+ depends on !S390
config PHONE
tristate "Linux telephony support"
diff -urpN linux-2.6/drivers/usb/Kconfig linux-2.6-patched/drivers/usb/Kconfig
--- linux-2.6/drivers/usb/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/usb/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "USB support"
+ depends on !S390
# Host-side USB depends on having a host controller
# NOTE: dummy_hcd is always an option, but it's ignored here ...
diff -urpN linux-2.6/drivers/video/Kconfig linux-2.6-patched/drivers/video/Kconfig
--- linux-2.6/drivers/video/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/video/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,6 +3,7 @@
#
menu "Graphics support"
+ depends on !S390
config FIRMWARE_EDID
bool "Enable firmware EDID"
diff -urpN linux-2.6/drivers/w1/Kconfig linux-2.6-patched/drivers/w1/Kconfig
--- linux-2.6/drivers/w1/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/drivers/w1/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -1,4 +1,5 @@
menu "Dallas's 1-wire bus"
+ depends on !S390
config W1
tristate "Dallas's 1-wire support"
diff -urpN linux-2.6/include/asm-s390/param.h linux-2.6-patched/include/asm-s390/param.h
--- linux-2.6/include/asm-s390/param.h 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/include/asm-s390/param.h 2006-06-30 11:21:07.000000000 +0200
@@ -10,7 +10,7 @@
#define _ASMS390_PARAM_H
#ifdef __KERNEL__
-# define HZ 100 /* Internal kernel timer frequency */
+# define HZ CONFIG_HZ /* Internal kernel timer frequency */
# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
#endif
diff -urpN linux-2.6/lib/Kconfig.debug linux-2.6-patched/lib/Kconfig.debug
--- linux-2.6/lib/Kconfig.debug 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/lib/Kconfig.debug 2006-06-30 11:21:07.000000000 +0200
@@ -64,7 +64,7 @@ config LOG_BUF_SHIFT
config DETECT_SOFTLOCKUP
bool "Detect Soft Lockups"
- depends on DEBUG_KERNEL
+ depends on DEBUG_KERNEL && !S390
default y
help
Say Y here to enable the kernel to detect "soft lockups",
diff -urpN linux-2.6/net/ax25/Kconfig linux-2.6-patched/net/ax25/Kconfig
--- linux-2.6/net/ax25/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/net/ax25/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -7,7 +7,7 @@
# 19980129 Moved to net/ax25/Config.in, sourcing device drivers.
menuconfig HAMRADIO
- depends on NET
+ depends on NET && !S390
bool "Amateur Radio support"
help
If you want to connect your Linux box to an amateur radio, answer Y
diff -urpN linux-2.6/net/bluetooth/Kconfig linux-2.6-patched/net/bluetooth/Kconfig
--- linux-2.6/net/bluetooth/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/net/bluetooth/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,7 +3,7 @@
#
menuconfig BT
- depends on NET
+ depends on NET && !S390
tristate "Bluetooth subsystem support"
help
Bluetooth is low-cost, low-power, short-range wireless technology.
diff -urpN linux-2.6/net/irda/Kconfig linux-2.6-patched/net/irda/Kconfig
--- linux-2.6/net/irda/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/net/irda/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -3,7 +3,7 @@
#
menuconfig IRDA
- depends on NET
+ depends on NET && !S390
tristate "IrDA (infrared) subsystem support"
select CRC_CCITT
---help---
diff -urpN linux-2.6/sound/Kconfig linux-2.6-patched/sound/Kconfig
--- linux-2.6/sound/Kconfig 2006-06-30 13:35:13.000000000 +0200
+++ linux-2.6-patched/sound/Kconfig 2006-06-30 11:21:07.000000000 +0200
@@ -2,6 +2,7 @@
#
menu "Sound"
+ depends on !S390
config SOUND
tristate "Sound card support"
^ permalink raw reply [flat|nested] 30+ messages in thread* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 12:26 [patch] s390 kconfig cleanup, 2nd version Martin Schwidefsky @ 2006-06-30 12:39 ` Geert Uytterhoeven 2006-06-30 12:54 ` Martin Schwidefsky 2006-06-30 12:44 ` Andi Kleen 2006-06-30 17:41 ` Andrew Morton 2 siblings, 1 reply; 30+ messages in thread From: Geert Uytterhoeven @ 2006-06-30 12:39 UTC (permalink / raw) To: Martin Schwidefsky Cc: linux-arch, ak, Keir.Fraser, chrisw, matthew, Andrew Morton Hi Martin, On Fri, 30 Jun 2006, Martin Schwidefsky wrote: > --- linux-2.6/drivers/char/Kconfig 2006-06-30 13:35:13.000000000 +0200 > +++ linux-2.6-patched/drivers/char/Kconfig 2006-06-30 11:21:06.000000000 +0200 > @@ -765,7 +767,7 @@ config SGI_IP27_RTC > > config GEN_RTC > tristate "Generic /dev/rtc emulation" > - depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV > + depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV && !S390 You still don't like genrtc (for hwclock)? ;-) > --- linux-2.6/drivers/ieee1394/Kconfig 2006-06-30 13:35:13.000000000 +0200 > +++ linux-2.6-patched/drivers/ieee1394/Kconfig 2006-06-30 11:21:06.000000000 +0200 > @@ -1,6 +1,7 @@ > # -*- shell-script -*- > > menu "IEEE 1394 (FireWire) support" > + depends on PCI || BROKEN > > config IEEE1394 > tristate "IEEE 1394 (FireWire) support" > diff -urpN linux-2.6/drivers/infiniband/Kconfig linux-2.6-patched/drivers/infiniband/Kconfig > --- linux-2.6/drivers/infiniband/Kconfig 2006-06-30 13:35:13.000000000 +0200 > +++ linux-2.6-patched/drivers/infiniband/Kconfig 2006-06-30 11:21:06.000000000 +0200 > @@ -1,4 +1,5 @@ > menu "InfiniBand support" > + depends on !S390 Perhaps just `depends on PCI || BROKEN' (cfr. IEEE1394), so the whole menu will be hidden for other non-PCI platforms? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 12:39 ` Geert Uytterhoeven @ 2006-06-30 12:54 ` Martin Schwidefsky 0 siblings, 0 replies; 30+ messages in thread From: Martin Schwidefsky @ 2006-06-30 12:54 UTC (permalink / raw) To: Geert Uytterhoeven Cc: linux-arch, ak, Keir.Fraser, chrisw, matthew, Andrew Morton On Fri, 2006-06-30 at 14:39 +0200, Geert Uytterhoeven wrote: > > --- linux-2.6/drivers/char/Kconfig 2006-06-30 13:35:13.000000000 +0200 > > +++ linux-2.6-patched/drivers/char/Kconfig 2006-06-30 11:21:06.000000000 +0200 > > @@ -765,7 +767,7 @@ config SGI_IP27_RTC > > > > config GEN_RTC > > tristate "Generic /dev/rtc emulation" > > - depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV > > + depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV && !S390 > > You still don't like genrtc (for hwclock)? ;-) I haven't implemented it yet. But it is on my list of things to do. Perhaps I can convince Heiko to look at it :-) > > --- linux-2.6/drivers/ieee1394/Kconfig 2006-06-30 13:35:13.000000000 +0200 > > +++ linux-2.6-patched/drivers/ieee1394/Kconfig 2006-06-30 11:21:06.000000000 +0200 > > @@ -1,6 +1,7 @@ > > # -*- shell-script -*- > > > > menu "IEEE 1394 (FireWire) support" > > + depends on PCI || BROKEN > > > > config IEEE1394 > > tristate "IEEE 1394 (FireWire) support" > > diff -urpN linux-2.6/drivers/infiniband/Kconfig linux-2.6-patched/drivers/infiniband/Kconfig > > --- linux-2.6/drivers/infiniband/Kconfig 2006-06-30 13:35:13.000000000 +0200 > > +++ linux-2.6-patched/drivers/infiniband/Kconfig 2006-06-30 11:21:06.000000000 +0200 > > @@ -1,4 +1,5 @@ > > menu "InfiniBand support" > > + depends on !S390 > > Perhaps just `depends on PCI || BROKEN' (cfr. IEEE1394), so the whole menu will > be hidden for other non-PCI platforms? Ok, fine with me. One less depends on !S390. -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 12:26 [patch] s390 kconfig cleanup, 2nd version Martin Schwidefsky 2006-06-30 12:39 ` Geert Uytterhoeven @ 2006-06-30 12:44 ` Andi Kleen 2006-06-30 13:04 ` Martin Schwidefsky 2006-06-30 17:41 ` Andrew Morton 2 siblings, 1 reply; 30+ messages in thread From: Andi Kleen @ 2006-06-30 12:44 UTC (permalink / raw) To: schwidefsky; +Cc: linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Friday 30 June 2006 14:26, Martin Schwidefsky wrote: > Hi folks, > it has been a few weeks since the s390 kconfig discussion died down. > I have put together a new patch that includes all of the suggestions > made so far. With this patch "make allyesconfig" and "make allmodconfig" > now works on s390. > > Please check that it does not break anything on your favorite > architecture. It really shouldn't but you never know. I want to push > this patch soon. I must say I still hate the negative !S390. It would be much better to define something positive. If PCI doesn't work maybe something else. -Andi ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 12:44 ` Andi Kleen @ 2006-06-30 13:04 ` Martin Schwidefsky 2006-06-30 13:09 ` Andi Kleen 0 siblings, 1 reply; 30+ messages in thread From: Martin Schwidefsky @ 2006-06-30 13:04 UTC (permalink / raw) To: Andi Kleen; +Cc: linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Fri, 2006-06-30 at 14:44 +0200, Andi Kleen wrote: > On Friday 30 June 2006 14:26, Martin Schwidefsky wrote: > > Hi folks, > > it has been a few weeks since the s390 kconfig discussion died down. > > I have put together a new patch that includes all of the suggestions > > made so far. With this patch "make allyesconfig" and "make allmodconfig" > > now works on s390. > > > > Please check that it does not break anything on your favorite > > architecture. It really shouldn't but you never know. I want to push > > this patch soon. > > I must say I still hate the negative !S390. It would be much better > to define something positive. If PCI doesn't work maybe something > else. Well, I don't like these negative !S390 depends as well. But I can't help it, there is no other existing config symbol that can be used for a positive dependency. Hardware that is built into the machine and is not attached via some kind of bus does not have any dependency. The only possible way to deal with it would be a positive list of architecture that have that piece of hardware. But the feeling was that a negative list is better in that case. So until you have one of your clever ideas we are pretty much stuck, aren't we ? -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 13:04 ` Martin Schwidefsky @ 2006-06-30 13:09 ` Andi Kleen 2006-06-30 13:20 ` Geert Uytterhoeven ` (2 more replies) 0 siblings, 3 replies; 30+ messages in thread From: Andi Kleen @ 2006-06-30 13:09 UTC (permalink / raw) To: schwidefsky; +Cc: linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Friday 30 June 2006 15:04, Martin Schwidefsky wrote: > On Fri, 2006-06-30 at 14:44 +0200, Andi Kleen wrote: > > On Friday 30 June 2006 14:26, Martin Schwidefsky wrote: > > > Hi folks, > > > it has been a few weeks since the s390 kconfig discussion died down. > > > I have put together a new patch that includes all of the suggestions > > > made so far. With this patch "make allyesconfig" and "make allmodconfig" > > > now works on s390. > > > > > > Please check that it does not break anything on your favorite > > > architecture. It really shouldn't but you never know. I want to push > > > this patch soon. > > > > I must say I still hate the negative !S390. It would be much better > > to define something positive. If PCI doesn't work maybe something > > else. > > Well, I don't like these negative !S390 depends as well. But I can't > help it, there is no other existing config symbol that can be used for a > positive dependency. Hardware that is built into the machine and is not > attached via some kind of bus does not have any dependency. But one can be invented. DESKTOP_HARDWARE SMALL_IRON END_USER_PCI ... Chose one. What stops users from plugging a PCI sound card into your PCI slots BTW? Initially it can be set dependent on !S390 and then later migrated into all the architectures (you can probably recruit someone on l-k to do it if you don't want to do it yourself ...) -Andi ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 13:09 ` Andi Kleen @ 2006-06-30 13:20 ` Geert Uytterhoeven 2006-06-30 13:28 ` Martin Schwidefsky 2006-06-30 14:13 ` Kyle McMartin 2 siblings, 0 replies; 30+ messages in thread From: Geert Uytterhoeven @ 2006-06-30 13:20 UTC (permalink / raw) To: Andi Kleen Cc: schwidefsky, linux-arch, Keir.Fraser, chrisw, matthew, Andrew Morton On Fri, 30 Jun 2006, Andi Kleen wrote: > On Friday 30 June 2006 15:04, Martin Schwidefsky wrote: > > On Fri, 2006-06-30 at 14:44 +0200, Andi Kleen wrote: > > > On Friday 30 June 2006 14:26, Martin Schwidefsky wrote: > > > > Hi folks, > > > > it has been a few weeks since the s390 kconfig discussion died down. > > > > I have put together a new patch that includes all of the suggestions > > > > made so far. With this patch "make allyesconfig" and "make allmodconfig" > > > > now works on s390. > > > > > > > > Please check that it does not break anything on your favorite > > > > architecture. It really shouldn't but you never know. I want to push > > > > this patch soon. > > > > > > I must say I still hate the negative !S390. It would be much better > > > to define something positive. If PCI doesn't work maybe something > > > else. > > > > Well, I don't like these negative !S390 depends as well. But I can't > > help it, there is no other existing config symbol that can be used for a > > positive dependency. Hardware that is built into the machine and is not > > attached via some kind of bus does not have any dependency. > > But one can be invented. > > DESKTOP_HARDWARE > SMALL_IRON > END_USER_PCI > ... > > Chose one. > > What stops users from plugging a PCI sound card into your PCI slots > BTW? Since Martin added several `depends on PCI', it seems like big iron doesn't have PCI (or perhaps PCI depends on !S390 now? :-). Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 13:09 ` Andi Kleen 2006-06-30 13:20 ` Geert Uytterhoeven @ 2006-06-30 13:28 ` Martin Schwidefsky 2006-06-30 14:05 ` Andi Kleen 2006-06-30 14:13 ` Kyle McMartin 2 siblings, 1 reply; 30+ messages in thread From: Martin Schwidefsky @ 2006-06-30 13:28 UTC (permalink / raw) To: Andi Kleen; +Cc: linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Fri, 2006-06-30 at 15:09 +0200, Andi Kleen wrote: > > > I must say I still hate the negative !S390. It would be much better > > > to define something positive. If PCI doesn't work maybe something > > > else. > > > > Well, I don't like these negative !S390 depends as well. But I can't > > help it, there is no other existing config symbol that can be used for a > > positive dependency. Hardware that is built into the machine and is not > > attached via some kind of bus does not have any dependency. > > > But one can be invented. > > DESKTOP_HARDWARE > SMALL_IRON > END_USER_PCI > ... > > Chose one. None of them seems appropriate. The things the patch deactives for s390 are vastly different (ATA/IDE, Parallel port, Plug and Play, I2C, I2O and so on). You will end up adding a lot of new config options. > What stops users from plugging a PCI sound card into your PCI slots > BTW? Which PCI slot? s390 doesn't have PCI slots. > Initially it can be set dependent on !S390 and then later migrated > into all the architectures (you can probably recruit someone on l-k > to do it if you don't want to do it yourself ...) I don't mind doing it but the question still is how. -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 13:28 ` Martin Schwidefsky @ 2006-06-30 14:05 ` Andi Kleen 2006-06-30 14:15 ` Geert Uytterhoeven ` (2 more replies) 0 siblings, 3 replies; 30+ messages in thread From: Andi Kleen @ 2006-06-30 14:05 UTC (permalink / raw) To: schwidefsky; +Cc: linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Friday 30 June 2006 15:28, Martin Schwidefsky wrote: > On Fri, 2006-06-30 at 15:09 +0200, Andi Kleen wrote: > > > > I must say I still hate the negative !S390. It would be much better > > > > to define something positive. If PCI doesn't work maybe something > > > > else. > > > > > > Well, I don't like these negative !S390 depends as well. But I can't > > > help it, there is no other existing config symbol that can be used for a > > > positive dependency. Hardware that is built into the machine and is not > > > attached via some kind of bus does not have any dependency. > > > > > > But one can be invented. > > > > DESKTOP_HARDWARE > > SMALL_IRON > > END_USER_PCI > > ... > > > > Chose one. > > None of them seems appropriate. The things the patch deactives for s390 > are vastly different (ATA/IDE, Parallel port, Plug and Play, I2C, I2O > and so on). You will end up adding a lot of new config options. ATA/IDE, parallel port, PNP could be PC_STYLE_HARDWARE. I2O should be definitely PCI I2C is an oddball. > > What stops users from plugging a PCI sound card into your PCI slots > > BTW? > > Which PCI slot? s390 doesn't have PCI slots. Ah I thought it had. If not you can just make most of that stuff dependent on PCI, no? -Andi ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 14:05 ` Andi Kleen @ 2006-06-30 14:15 ` Geert Uytterhoeven 2006-06-30 14:20 ` Martin Schwidefsky 2006-07-01 2:38 ` Paul Mackerras 2 siblings, 0 replies; 30+ messages in thread From: Geert Uytterhoeven @ 2006-06-30 14:15 UTC (permalink / raw) To: Andi Kleen Cc: schwidefsky, linux-arch, Keir.Fraser, chrisw, matthew, Andrew Morton On Fri, 30 Jun 2006, Andi Kleen wrote: > On Friday 30 June 2006 15:28, Martin Schwidefsky wrote: > > None of them seems appropriate. The things the patch deactives for s390 > > are vastly different (ATA/IDE, Parallel port, Plug and Play, I2C, I2O > > and so on). You will end up adding a lot of new config options. > > ATA/IDE, parallel port, PNP could be PC_STYLE_HARDWARE. INPUT, LEDs, GRAPHICS, SOUND could depend on USER_INTERACTION? So basically, an s390 is a (virtual) box with only s390-specific drivers, and the only possible generic user interaction is through the network? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 14:05 ` Andi Kleen 2006-06-30 14:15 ` Geert Uytterhoeven @ 2006-06-30 14:20 ` Martin Schwidefsky 2006-07-03 23:15 ` Arnd Bergmann 2006-07-01 2:38 ` Paul Mackerras 2 siblings, 1 reply; 30+ messages in thread From: Martin Schwidefsky @ 2006-06-30 14:20 UTC (permalink / raw) To: Andi Kleen; +Cc: linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Fri, 2006-06-30 at 16:05 +0200, Andi Kleen wrote: > > None of them seems appropriate. The things the patch deactives for s390 > > are vastly different (ATA/IDE, Parallel port, Plug and Play, I2C, I2O > > and so on). You will end up adding a lot of new config options. > > ATA/IDE, parallel port, PNP could be PC_STYLE_HARDWARE. Sounds like a plan. To have a clean patch from the start that new config option PC_STYLE_HARDWARE needs to be added to almost all architectures. > I2O should be definitely PCI That is good to know, so I will add a "depends on PCI" for I2O. > I2C is an oddball. So I leave "depends on !S390" for now. There are still a few more config options: IPMI VT SERIAL_NONSTANDARD SCSI_SATA and numerous menues: "TPM devices" - PC_STYLE_HARDWARE "EDAC - error detection and reporting" - PC_STYLE_HARDWARE "Hardware monitoring support" - PC_STYLE_HARDWARE "InfiniBand support" - don't think this is pc style hardware "Input device support" - ?? "ISDN subsystem" - PC_STYLE_HARDWARE "LED devices" - PC_STYLE_HARDWARE "Multimedia devices" - PC_STYLE_HARDWARE "Misc devices" - PC_STYLE_HARDWARE "MMC/SD Card support" - PC_STYLE_HARDWARE "Memory Technology Devices (MTD)" - PC_STYLE_HARDWARE "PHY device support" - PC_STYLE_HARDWARE "Wireless LAN (non-hamradio)" - PC_STYLE_HARDWARE "Real Time Clock" - PC_STYLE_HARDWARE "Serial drivers" - PC_STYLE_HARDWARE "SPI support" - PC_STYLE_HARDWARE "Telephony Support" - PC_STYLE_HARDWARE "USB support" - PC_STYLE_HARDWARE "Graphics support" - PC_STYLE_HARDWARE "Dallas's 1-wire bus" - PC_STYLE_HARDWARE "Amateur Radio support" - PC_STYLE_HARDWARE "Bluetooth subsystem support" - PC_STYLE_HARDWARE "IrDA (infrared) subsystem support" - PC_STYLE_HARDWARE "Sound" - PC_STYLE_HARDWARE Looks like PC_STYLE_HARDWARE is the clever idea I've been looking for. -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 14:20 ` Martin Schwidefsky @ 2006-07-03 23:15 ` Arnd Bergmann 2006-07-03 23:35 ` Matthew Wilcox 0 siblings, 1 reply; 30+ messages in thread From: Arnd Bergmann @ 2006-07-03 23:15 UTC (permalink / raw) To: schwidefsky Cc: Andi Kleen, linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Friday 30 June 2006 16:20, Martin Schwidefsky wrote: > There are still a few more config options: > IPMI > SERIAL_NONSTANDARD > SCSI_SATA > > and numerous menues: > "TPM devices" - PC_STYLE_HARDWARE > "Hardware monitoring support" - PC_STYLE_HARDWARE > "InfiniBand support" - don't think this is pc style hardware > "ISDN subsystem" - PC_STYLE_HARDWARE > "LED devices" - PC_STYLE_HARDWARE > "Multimedia devices" - PC_STYLE_HARDWARE > "MMC/SD Card support" - PC_STYLE_HARDWARE > "PHY device support" - PC_STYLE_HARDWARE > "Serial drivers" - PC_STYLE_HARDWARE > "SPI support" - PC_STYLE_HARDWARE > "Telephony Support" - PC_STYLE_HARDWARE > "USB support" - PC_STYLE_HARDWARE > "Graphics support" - PC_STYLE_HARDWARE > "Dallas's 1-wire bus" - PC_STYLE_HARDWARE > "Amateur Radio support" - PC_STYLE_HARDWARE > "Bluetooth subsystem support" - PC_STYLE_HARDWARE > "IrDA (infrared) subsystem support" - PC_STYLE_HARDWARE > "EDAC - error detection and reporting" - PC_STYLE_HARDWARE > "Sound" - PC_STYLE_HARDWARE I would assume that all of these depend on memory mapped I/O access. So they might be more correctly depend on CONFIG_MMIO. > VT > "Input device support" - ?? > "Misc devices" - PC_STYLE_HARDWARE > "Memory Technology Devices (MTD)" - PC_STYLE_HARDWARE > "Wireless LAN (non-hamradio)" - PC_STYLE_HARDWARE > "Real Time Clock" - PC_STYLE_HARDWARE For these, it's not so clear, so maybe just let the HW drivers depend on CONFIG_MMIO, but not the architecture in dependant parts. Arnd <>< ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-07-03 23:15 ` Arnd Bergmann @ 2006-07-03 23:35 ` Matthew Wilcox 2006-07-04 12:42 ` Arnd Bergmann 0 siblings, 1 reply; 30+ messages in thread From: Matthew Wilcox @ 2006-07-03 23:35 UTC (permalink / raw) To: Arnd Bergmann Cc: schwidefsky, Andi Kleen, linux-arch, geert, Keir.Fraser, chrisw, akpm On Tue, Jul 04, 2006 at 01:15:16AM +0200, Arnd Bergmann wrote: > I would assume that all of these depend on memory mapped I/O > access. So they might be more correctly depend on CONFIG_MMIO. We don't (yet) have a CONFIG_MMIO. If we were to have one, I would expect it to be akin to SCSI_SYM53C8XX_MMIO, VIA_RHINE_MMIO, SUNDANCE_MMIO and TULIP_MMIO. ie indicating a preference between PIO and MMIO rather than indicating the availability of MMIO. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-07-03 23:35 ` Matthew Wilcox @ 2006-07-04 12:42 ` Arnd Bergmann 2006-07-04 13:08 ` Geert Uytterhoeven 2006-07-04 18:09 ` Matthew Wilcox 0 siblings, 2 replies; 30+ messages in thread From: Arnd Bergmann @ 2006-07-04 12:42 UTC (permalink / raw) To: Matthew Wilcox Cc: schwidefsky, Andi Kleen, linux-arch, geert, Keir.Fraser, chrisw, akpm On Tuesday 04 July 2006 01:35, Matthew Wilcox wrote: > We don't (yet) have a CONFIG_MMIO. If we were to have one, I would > expect it to be akin to SCSI_SYM53C8XX_MMIO, VIA_RHINE_MMIO, > SUNDANCE_MMIO and TULIP_MMIO. ie indicating a preference between PIO > and MMIO rather than indicating the availability of MMIO. Hmm, maybe my terminology wasn't so good, at least you misunderstood what I wanted to express. PIO is more or less a 386ism, so I tend to view that as a special case of MMIO. The point with s390 is that there is neither PIO nor MMIO, which really makes it impossible to use most of the device drivers, even if you could connect the hardware ;-). Arnd <>< ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-07-04 12:42 ` Arnd Bergmann @ 2006-07-04 13:08 ` Geert Uytterhoeven 2006-07-04 15:23 ` Arnd Bergmann 2006-07-04 18:09 ` Matthew Wilcox 1 sibling, 1 reply; 30+ messages in thread From: Geert Uytterhoeven @ 2006-07-04 13:08 UTC (permalink / raw) To: Arnd Bergmann Cc: Matthew Wilcox, schwidefsky, Andi Kleen, linux-arch, Keir.Fraser, chrisw, Andrew Morton [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: TEXT/PLAIN; charset=UTF-8, Size: 1107 bytes --] Hi Arnd, On Tue, 4 Jul 2006, Arnd Bergmann wrote: > On Tuesday 04 July 2006 01:35, Matthew Wilcox wrote: > > We don't (yet) have a CONFIG_MMIO. If we were to have one, I would > > expect it to be akin to SCSI_SYM53C8XX_MMIO, VIA_RHINE_MMIO, > > SUNDANCE_MMIO and TULIP_MMIO. ie indicating a preference between PIO > > and MMIO rather than indicating the availability of MMIO. > > Hmm, maybe my terminology wasn't so good, at least you misunderstood > what I wanted to express. PIO is more or less a 386ism, so I tend to > view that as a special case of MMIO. The point with s390 is that there > is neither PIO nor MMIO, which really makes it impossible to use most > of the device drivers, even if you could connect the hardware ;-). So why aren't readb() and friends in <asm/io.h> empty defines? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-07-04 13:08 ` Geert Uytterhoeven @ 2006-07-04 15:23 ` Arnd Bergmann 0 siblings, 0 replies; 30+ messages in thread From: Arnd Bergmann @ 2006-07-04 15:23 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Matthew Wilcox, schwidefsky, Andi Kleen, linux-arch, Keir.Fraser, chrisw, Andrew Morton On Tuesday 04 July 2006 15:08, Geert Uytterhoeven wrote: > So why aren't readb() and friends in <asm/io.h> empty defines? That's a bug, they should be ;-) ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-07-04 12:42 ` Arnd Bergmann 2006-07-04 13:08 ` Geert Uytterhoeven @ 2006-07-04 18:09 ` Matthew Wilcox 1 sibling, 0 replies; 30+ messages in thread From: Matthew Wilcox @ 2006-07-04 18:09 UTC (permalink / raw) To: Arnd Bergmann Cc: schwidefsky, Andi Kleen, linux-arch, geert, Keir.Fraser, chrisw, akpm On Tue, Jul 04, 2006 at 02:42:03PM +0200, Arnd Bergmann wrote: > On Tuesday 04 July 2006 01:35, Matthew Wilcox wrote: > > We don't (yet) have a CONFIG_MMIO. ?If we were to have one, I would > > expect it to be akin to SCSI_SYM53C8XX_MMIO, VIA_RHINE_MMIO, > > SUNDANCE_MMIO and TULIP_MMIO. ?ie indicating a preference between PIO > > and MMIO rather than indicating the availability of MMIO. > > Hmm, maybe my terminology wasn't so good, at least you misunderstood > what I wanted to express. PIO is more or less a 386ism, so I tend to > view that as a special case of MMIO. The point with s390 is that there > is neither PIO nor MMIO, which really makes it impossible to use most > of the device drivers, even if you could connect the hardware ;-). I understood what you wanted; I was just explaining why it's a bad name. CONFIG_STD_IO might be a good name. CONFIG_PCI_IO might be confusing. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 14:05 ` Andi Kleen 2006-06-30 14:15 ` Geert Uytterhoeven 2006-06-30 14:20 ` Martin Schwidefsky @ 2006-07-01 2:38 ` Paul Mackerras 2 siblings, 0 replies; 30+ messages in thread From: Paul Mackerras @ 2006-07-01 2:38 UTC (permalink / raw) To: Andi Kleen Cc: schwidefsky, linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm Andi Kleen writes: > ATA/IDE, parallel port, PNP could be PC_STYLE_HARDWARE. Hmmm, powermacs have ATA/IDE but not parallel ports or PNP. Paul. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 13:09 ` Andi Kleen 2006-06-30 13:20 ` Geert Uytterhoeven 2006-06-30 13:28 ` Martin Schwidefsky @ 2006-06-30 14:13 ` Kyle McMartin 2006-06-30 14:20 ` Andi Kleen 2 siblings, 1 reply; 30+ messages in thread From: Kyle McMartin @ 2006-06-30 14:13 UTC (permalink / raw) To: Andi Kleen Cc: schwidefsky, linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Fri, Jun 30, 2006 at 03:09:16PM +0200, Andi Kleen wrote: > But one can be invented. > I'd also like to propose a BROKEN_ON_BIG_ENDIAN or alternatively just a config LITTLE_ENDIAN, while we're at it. A whole pile of poorly written drivers in isdn/ and, iirc, net/ fail to build (#error?) on big endian machines... Cheers, Kyle. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 14:13 ` Kyle McMartin @ 2006-06-30 14:20 ` Andi Kleen 0 siblings, 0 replies; 30+ messages in thread From: Andi Kleen @ 2006-06-30 14:20 UTC (permalink / raw) To: Kyle McMartin Cc: schwidefsky, linux-arch, geert, Keir.Fraser, chrisw, matthew, akpm On Friday 30 June 2006 16:13, Kyle McMartin wrote: > On Fri, Jun 30, 2006 at 03:09:16PM +0200, Andi Kleen wrote: > > But one can be invented. > > > > I'd also like to propose a BROKEN_ON_BIG_ENDIAN or alternatively just a > config LITTLE_ENDIAN, while we're at it. A whole pile of poorly > written drivers in isdn/ and, iirc, net/ fail to build (#error?) on > big endian machines... Fine by me. Just submit patches. -Andi ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 12:26 [patch] s390 kconfig cleanup, 2nd version Martin Schwidefsky 2006-06-30 12:39 ` Geert Uytterhoeven 2006-06-30 12:44 ` Andi Kleen @ 2006-06-30 17:41 ` Andrew Morton 2006-06-30 18:28 ` Andi Kleen ` (3 more replies) 2 siblings, 4 replies; 30+ messages in thread From: Andrew Morton @ 2006-06-30 17:41 UTC (permalink / raw) To: schwidefsky; +Cc: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew On Fri, 30 Jun 2006 14:26:44 +0200 Martin Schwidefsky <schwidefsky@de.ibm.com> wrote: > config VT > bool "Virtual terminal" if EMBEDDED > + depends on !S390 It would be more general to do depends on !DISABLE_VT then define DISABLE_VT over in arch/s390/Kconfig. In fact we could adopt that as a convention and use the CONFIG_DISABLE_foo namespace for this purpose. Even better would be to teach the Kconfig sytem about this, so in arch/s390/Kconfig we do disable VT and the Kconfig system knows not to offer VT, so there's no need to go adding `depends on !DISABLE_foo' all over the place. The above DISABLE_foo convention just simulates that missing feature. > + depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !S390 Imagine not having crud like this in there. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 17:41 ` Andrew Morton @ 2006-06-30 18:28 ` Andi Kleen 2006-07-03 9:10 ` Martin Schwidefsky ` (2 subsequent siblings) 3 siblings, 0 replies; 30+ messages in thread From: Andi Kleen @ 2006-06-30 18:28 UTC (permalink / raw) To: Andrew Morton Cc: schwidefsky, linux-arch, geert, Keir.Fraser, chrisw, matthew > > disable VT > > and the Kconfig system knows not to offer VT, so there's no need to go > adding `depends on !DISABLE_foo' all over the place. The above DISABLE_foo > convention just simulates that missing feature. That's a COMEFROM. Scary idea. -Andi ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-06-30 17:41 ` Andrew Morton 2006-06-30 18:28 ` Andi Kleen @ 2006-07-03 9:10 ` Martin Schwidefsky 2006-07-03 9:20 ` Andrew Morton 2006-07-07 16:19 ` [Kconfig] add disable command (was Re: [patch] s390 kconfig cleanup, 2nd version) Martin Schwidefsky 2006-07-07 16:19 ` [Kconfig] use " Martin Schwidefsky 3 siblings, 1 reply; 30+ messages in thread From: Martin Schwidefsky @ 2006-07-03 9:10 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew On Fri, 2006-06-30 at 10:41 -0700, Andrew Morton wrote: > Even better would be to teach the Kconfig sytem about this, so in > arch/s390/Kconfig we do > > disable VT > > and the Kconfig system knows not to offer VT, so there's no need to go > adding `depends on !DISABLE_foo' all over the place. The above DISABLE_foo > convention just simulates that missing feature. That would be a very useful feature to have. There are some border cases where no real positive dependency exist. For that a "disable xxx" would be perfect. But we still should use positive dependencies where possible to keep the disable lists short. -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-07-03 9:10 ` Martin Schwidefsky @ 2006-07-03 9:20 ` Andrew Morton 2006-07-03 10:35 ` Martin Schwidefsky 0 siblings, 1 reply; 30+ messages in thread From: Andrew Morton @ 2006-07-03 9:20 UTC (permalink / raw) To: schwidefsky; +Cc: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew On Mon, 03 Jul 2006 11:10:53 +0200 Martin Schwidefsky <schwidefsky@de.ibm.com> wrote: > On Fri, 2006-06-30 at 10:41 -0700, Andrew Morton wrote: > > Even better would be to teach the Kconfig sytem about this, so in > > arch/s390/Kconfig we do > > > > disable VT > > > > and the Kconfig system knows not to offer VT, so there's no need to go > > adding `depends on !DISABLE_foo' all over the place. The above DISABLE_foo > > convention just simulates that missing feature. > > That would be a very useful feature to have. There are some border cases > where no real positive dependency exist. For that a "disable xxx" would > be perfect. But we still should use positive dependencies where possible > to keep the disable lists short. > I don't understand that. depends on !DISABLE_FOO is short? ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [patch] s390 kconfig cleanup, 2nd version. 2006-07-03 9:20 ` Andrew Morton @ 2006-07-03 10:35 ` Martin Schwidefsky 0 siblings, 0 replies; 30+ messages in thread From: Martin Schwidefsky @ 2006-07-03 10:35 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew On Mon, 2006-07-03 at 02:20 -0700, Andrew Morton wrote: > > That would be a very useful feature to have. There are some border cases > > where no real positive dependency exist. For that a "disable xxx" would > > be perfect. But we still should use positive dependencies where possible > > to keep the disable lists short. > > > > I don't understand that. > > depends on !DISABLE_FOO > > is short? I was after the options that can be dealt with an existing positive dependency, e.g. "depends on PCI", or "depends on ISA". I have a handful of these in my patch. -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Kconfig] add disable command (was Re: [patch] s390 kconfig cleanup, 2nd version). 2006-06-30 17:41 ` Andrew Morton 2006-06-30 18:28 ` Andi Kleen 2006-07-03 9:10 ` Martin Schwidefsky @ 2006-07-07 16:19 ` Martin Schwidefsky 2006-07-07 19:27 ` Andrew Morton 2006-07-07 16:19 ` [Kconfig] use " Martin Schwidefsky 3 siblings, 1 reply; 30+ messages in thread From: Martin Schwidefsky @ 2006-07-07 16:19 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew, zippel On Fri, 2006-06-30 at 10:41 -0700, Andrew Morton wrote: > Even better would be to teach the Kconfig sytem about this, so in > arch/s390/Kconfig we do > > disable VT > > and the Kconfig system knows not to offer VT, so there's no need to go > adding `depends on !DISABLE_foo' all over the place. The above DISABLE_foo > convention just simulates that missing feature. > > > > + depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !S390 > > Imagine not having crud like this in there. I've given this a try and implemented the "disable" command. Seems to work fine for me. The command would certainly make my life easier in regard to the s390 Kconfig stuff. -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. -- From: Martin Schwidefsky <schwidefsky@de.ibm.com> [Kconfig] add disable command. This patch adds the "disable <name> [if <expr>]" Kconfig command. The purpose of the command is to allow architectures to disable specific configuration options. For example "disable GEN_RTC" will disable the GEN_RTC option, "disable RTC if !EXPERIMENTAL" will disable the RTC option if the EXPERIMENTAL option is not selected. There is one limitation of the disable command, it needs to be defined prio to the config option it disables. The reason is that the additional depends clause is added in menu_end_entry. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> --- scripts/kconfig/expr.h | 2 scripts/kconfig/menu.c | 5 scripts/kconfig/zconf.gperf | 1 scripts/kconfig/zconf.hash.c_shipped | 121 +++---- scripts/kconfig/zconf.tab.c_shipped | 602 ++++++++++++++++++----------------- scripts/kconfig/zconf.y | 16 6 files changed, 396 insertions(+), 351 deletions(-) diff -urpN linux-2.6/scripts/kconfig/expr.h linux-2.6-patched/scripts/kconfig/expr.h --- linux-2.6/scripts/kconfig/expr.h 2006-07-07 14:30:46.000000000 +0200 +++ linux-2.6-patched/scripts/kconfig/expr.h 2006-07-07 14:31:31.000000000 +0200 @@ -78,7 +78,7 @@ struct symbol { tristate visible; int flags; struct property *prop; - struct expr *dep, *dep2; + struct expr *disable; struct expr_value rev_dep; }; diff -urpN linux-2.6/scripts/kconfig/menu.c linux-2.6-patched/scripts/kconfig/menu.c --- linux-2.6/scripts/kconfig/menu.c 2006-07-07 14:30:46.000000000 +0200 +++ linux-2.6-patched/scripts/kconfig/menu.c 2006-07-07 17:33:58.000000000 +0200 @@ -59,6 +59,11 @@ void menu_add_entry(struct symbol *sym) void menu_end_entry(void) { + struct expr *dep; + if (!current_entry->sym || !current_entry->sym->disable) + return; + dep = expr_alloc_one(E_NOT, current_entry->sym->disable); + current_entry->dep = expr_alloc_and(current_entry->dep, dep); } struct menu *menu_add_menu(void) diff -urpN linux-2.6/scripts/kconfig/zconf.gperf linux-2.6-patched/scripts/kconfig/zconf.gperf --- linux-2.6/scripts/kconfig/zconf.gperf 2006-07-07 14:30:46.000000000 +0200 +++ linux-2.6-patched/scripts/kconfig/zconf.gperf 2006-07-07 14:03:17.000000000 +0200 @@ -43,4 +43,5 @@ option, T_OPTION, TF_COMMAND on, T_ON, TF_PARAM modules, T_OPT_MODULES, TF_OPTION defconfig_list, T_OPT_DEFCONFIG_LIST,TF_OPTION +disable, T_DISABLE, TF_COMMAND %% diff -urpN linux-2.6/scripts/kconfig/zconf.y linux-2.6-patched/scripts/kconfig/zconf.y --- linux-2.6/scripts/kconfig/zconf.y 2006-07-07 14:30:46.000000000 +0200 +++ linux-2.6-patched/scripts/kconfig/zconf.y 2006-07-07 17:28:03.000000000 +0200 @@ -73,6 +73,7 @@ static struct menu *current_menu, *curre %token <id>T_RANGE %token <id>T_OPTION %token <id>T_ON +%token <id>T_DISABLE %token <string> T_WORD %token <string> T_WORD_QUOTE %token T_UNEQUAL @@ -130,6 +131,7 @@ common_stmt: | config_stmt | menuconfig_stmt | source_stmt + | disable_stmt ; option_error: @@ -470,6 +472,20 @@ symbol: T_WORD { $$ = sym_lookup($1, 0 | T_WORD_QUOTE { $$ = sym_lookup($1, 1); free($1); } ; +/* disable option */ + +disable_stmt: T_DISABLE T_WORD if_expr T_EOL +{ + struct symbol *sym = sym_lookup($2, 0); + struct expr *dep; + + dep = $3; + if (!dep) + dep = expr_alloc_symbol(&symbol_yes); + sym->disable = expr_alloc_and(sym->disable, dep); + printd(DEBUG_PARSE, "%s:%d:disable\n", zconf_curname(), zconf_lineno()); +}; + %% void conf_parse(const char *name) diff -urpN linux-2.6/scripts/kconfig/zconf.hash.c_shipped linux-2.6-patched/scripts/kconfig/zconf.hash.c_shipped --- linux-2.6/scripts/kconfig/zconf.hash.c_shipped 2006-07-07 14:30:46.000000000 +0200 +++ linux-2.6-patched/scripts/kconfig/zconf.hash.c_shipped 2006-07-07 17:34:13.000000000 +0200 @@ -30,7 +30,7 @@ #endif struct kconf_id; -/* maximum key range = 45, duplicates = 0 */ +/* maximum key range = 50, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -44,32 +44,32 @@ kconf_id_hash (register const char *str, { static unsigned char asso_values[] = { - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 25, 30, 15, - 0, 15, 0, 47, 5, 15, 47, 47, 30, 20, - 5, 0, 25, 15, 0, 0, 10, 35, 47, 47, - 5, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47 + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 30, 40, 15, + 0, 15, 0, 52, 5, 15, 52, 52, 10, 20, + 5, 0, 30, 15, 0, 25, 10, 15, 52, 52, + 5, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52 }; register int hval = len; @@ -89,7 +89,6 @@ kconf_id_hash (register const char *str, struct kconf_id_strings_t { char kconf_id_strings_str2[sizeof("on")]; - char kconf_id_strings_str6[sizeof("string")]; char kconf_id_strings_str7[sizeof("default")]; char kconf_id_strings_str8[sizeof("def_bool")]; char kconf_id_strings_str10[sizeof("range")]; @@ -100,6 +99,7 @@ struct kconf_id_strings_t char kconf_id_strings_str16[sizeof("option")]; char kconf_id_strings_str17[sizeof("if")]; char kconf_id_strings_str18[sizeof("optional")]; + char kconf_id_strings_str19[sizeof("help")]; char kconf_id_strings_str20[sizeof("endif")]; char kconf_id_strings_str21[sizeof("choice")]; char kconf_id_strings_str22[sizeof("endmenu")]; @@ -109,23 +109,23 @@ struct kconf_id_strings_t char kconf_id_strings_str27[sizeof("modules")]; char kconf_id_strings_str28[sizeof("int")]; char kconf_id_strings_str29[sizeof("menu")]; - char kconf_id_strings_str31[sizeof("prompt")]; - char kconf_id_strings_str32[sizeof("depends")]; + char kconf_id_strings_str31[sizeof("string")]; + char kconf_id_strings_str32[sizeof("disable")]; char kconf_id_strings_str33[sizeof("tristate")]; - char kconf_id_strings_str34[sizeof("bool")]; char kconf_id_strings_str35[sizeof("menuconfig")]; - char kconf_id_strings_str36[sizeof("select")]; - char kconf_id_strings_str37[sizeof("boolean")]; - char kconf_id_strings_str39[sizeof("help")]; - char kconf_id_strings_str41[sizeof("source")]; + char kconf_id_strings_str36[sizeof("prompt")]; + char kconf_id_strings_str37[sizeof("depends")]; + char kconf_id_strings_str41[sizeof("select")]; char kconf_id_strings_str42[sizeof("comment")]; char kconf_id_strings_str43[sizeof("mainmenu")]; - char kconf_id_strings_str46[sizeof("enable")]; + char kconf_id_strings_str44[sizeof("bool")]; + char kconf_id_strings_str46[sizeof("source")]; + char kconf_id_strings_str47[sizeof("boolean")]; + char kconf_id_strings_str51[sizeof("enable")]; }; static struct kconf_id_strings_t kconf_id_strings_contents = { "on", - "string", "default", "def_bool", "range", @@ -136,6 +136,7 @@ static struct kconf_id_strings_t kconf_i "option", "if", "optional", + "help", "endif", "choice", "endmenu", @@ -145,17 +146,18 @@ static struct kconf_id_strings_t kconf_i "modules", "int", "menu", - "prompt", - "depends", + "string", + "disable", "tristate", - "bool", "menuconfig", + "prompt", + "depends", "select", - "boolean", - "help", - "source", "comment", "mainmenu", + "bool", + "source", + "boolean", "enable" }; #define kconf_id_strings ((const char *) &kconf_id_strings_contents) @@ -167,19 +169,18 @@ kconf_id_lookup (register const char *st { enum { - TOTAL_KEYWORDS = 33, + TOTAL_KEYWORDS = 34, MIN_WORD_LENGTH = 2, MAX_WORD_LENGTH = 14, MIN_HASH_VALUE = 2, - MAX_HASH_VALUE = 46 + MAX_HASH_VALUE = 51 }; static struct kconf_id wordlist[] = { {-1}, {-1}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2, T_ON, TF_PARAM}, - {-1}, {-1}, {-1}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6, T_TYPE, TF_COMMAND, S_STRING}, + {-1}, {-1}, {-1}, {-1}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7, T_DEFAULT, TF_COMMAND, S_UNKNOWN}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, {-1}, @@ -192,7 +193,7 @@ kconf_id_lookup (register const char *st {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_OPTION, TF_COMMAND}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_IF, TF_COMMAND|TF_PARAM}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_OPTIONAL, TF_COMMAND}, - {-1}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19, T_HELP, TF_COMMAND}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str20, T_ENDIF, TF_COMMAND}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_CHOICE, TF_COMMAND}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_ENDMENU, TF_COMMAND}, @@ -204,21 +205,23 @@ kconf_id_lookup (register const char *st {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_TYPE, TF_COMMAND, S_INT}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND}, {-1}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_PROMPT, TF_COMMAND}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_DEPENDS, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_TYPE, TF_COMMAND, S_STRING}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_DISABLE, TF_COMMAND}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_TYPE, TF_COMMAND, S_TRISTATE}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str34, T_TYPE, TF_COMMAND, S_BOOLEAN}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_SELECT, TF_COMMAND}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_TYPE, TF_COMMAND, S_BOOLEAN}, - {-1}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str39, T_HELP, TF_COMMAND}, {-1}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_SOURCE, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_PROMPT, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_DEPENDS, TF_COMMAND}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_SELECT, TF_COMMAND}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_COMMENT, TF_COMMAND}, {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str43, T_MAINMENU, TF_COMMAND}, - {-1}, {-1}, - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_SELECT, TF_COMMAND} + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str44, T_TYPE, TF_COMMAND, S_BOOLEAN}, + {-1}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_SOURCE, TF_COMMAND}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN}, + {-1}, {-1}, {-1}, + {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_SELECT, TF_COMMAND} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) diff -urpN linux-2.6/scripts/kconfig/zconf.tab.c_shipped linux-2.6-patched/scripts/kconfig/zconf.tab.c_shipped --- linux-2.6/scripts/kconfig/zconf.tab.c_shipped 2006-07-07 14:30:46.000000000 +0200 +++ linux-2.6-patched/scripts/kconfig/zconf.tab.c_shipped 2006-07-07 17:34:13.000000000 +0200 @@ -87,16 +87,17 @@ T_RANGE = 278, T_OPTION = 279, T_ON = 280, - T_WORD = 281, - T_WORD_QUOTE = 282, - T_UNEQUAL = 283, - T_CLOSE_PAREN = 284, - T_OPEN_PAREN = 285, - T_EOL = 286, - T_OR = 287, - T_AND = 288, - T_EQUAL = 289, - T_NOT = 290 + T_DISABLE = 281, + T_WORD = 282, + T_WORD_QUOTE = 283, + T_UNEQUAL = 284, + T_CLOSE_PAREN = 285, + T_OPEN_PAREN = 286, + T_EOL = 287, + T_OR = 288, + T_AND = 289, + T_EQUAL = 290, + T_NOT = 291 }; #endif /* Tokens. */ @@ -123,16 +124,17 @@ #define T_RANGE 278 #define T_OPTION 279 #define T_ON 280 -#define T_WORD 281 -#define T_WORD_QUOTE 282 -#define T_UNEQUAL 283 -#define T_CLOSE_PAREN 284 -#define T_OPEN_PAREN 285 -#define T_EOL 286 -#define T_OR 287 -#define T_AND 288 -#define T_EQUAL 289 -#define T_NOT 290 +#define T_DISABLE 281 +#define T_WORD 282 +#define T_WORD_QUOTE 283 +#define T_UNEQUAL 284 +#define T_CLOSE_PAREN 285 +#define T_OPEN_PAREN 286 +#define T_EOL 287 +#define T_OR 288 +#define T_AND 289 +#define T_EQUAL 290 +#define T_NOT 291 @@ -372,20 +374,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 275 +#define YYLAST 280 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 36 +#define YYNTOKENS 37 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 45 +#define YYNNTS 46 /* YYNRULES -- Number of rules. */ -#define YYNRULES 110 +#define YYNRULES 112 /* YYNRULES -- Number of states. */ -#define YYNSTATES 183 +#define YYNSTATES 188 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 290 +#define YYMAXUTOK 291 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -422,7 +424,7 @@ static const unsigned char yytranslate[] 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35 + 35, 36 }; #if YYDEBUG @@ -432,71 +434,72 @@ static const unsigned short int yyprhs[] { 0, 0, 3, 5, 6, 9, 12, 15, 20, 23, 28, 33, 37, 39, 41, 43, 45, 47, 49, 51, - 53, 55, 57, 59, 61, 63, 67, 70, 74, 77, - 81, 84, 85, 88, 91, 94, 97, 100, 103, 107, - 112, 117, 122, 128, 132, 133, 137, 138, 141, 144, - 147, 149, 153, 154, 157, 160, 163, 166, 169, 174, - 178, 181, 186, 187, 190, 194, 196, 200, 201, 204, - 207, 210, 214, 217, 219, 223, 224, 227, 230, 233, - 237, 241, 244, 247, 250, 251, 254, 257, 260, 265, - 269, 273, 274, 277, 279, 281, 284, 287, 290, 292, - 295, 296, 299, 301, 305, 309, 313, 316, 320, 324, - 326 + 53, 55, 57, 59, 61, 63, 65, 69, 72, 76, + 79, 83, 86, 87, 90, 93, 96, 99, 102, 105, + 109, 114, 119, 124, 130, 134, 135, 139, 140, 143, + 146, 149, 151, 155, 156, 159, 162, 165, 168, 171, + 176, 180, 183, 188, 189, 192, 196, 198, 202, 203, + 206, 209, 212, 216, 219, 221, 225, 226, 229, 232, + 235, 239, 243, 246, 249, 252, 253, 256, 259, 262, + 267, 271, 275, 276, 279, 281, 283, 286, 289, 292, + 294, 297, 298, 301, 303, 307, 311, 315, 318, 322, + 326, 328, 330 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yysigned_char yyrhs[] = { - 37, 0, -1, 38, -1, -1, 38, 40, -1, 38, - 54, -1, 38, 65, -1, 38, 3, 75, 77, -1, - 38, 76, -1, 38, 26, 1, 31, -1, 38, 39, - 1, 31, -1, 38, 1, 31, -1, 16, -1, 19, + 38, 0, -1, 39, -1, -1, 39, 41, -1, 39, + 55, -1, 39, 66, -1, 39, 3, 76, 78, -1, + 39, 77, -1, 39, 27, 1, 32, -1, 39, 40, + 1, 32, -1, 39, 1, 32, -1, 16, -1, 19, -1, 20, -1, 22, -1, 18, -1, 23, -1, 21, - -1, 31, -1, 60, -1, 69, -1, 43, -1, 45, - -1, 67, -1, 26, 1, 31, -1, 1, 31, -1, - 10, 26, 31, -1, 42, 46, -1, 11, 26, 31, - -1, 44, 46, -1, -1, 46, 47, -1, 46, 48, - -1, 46, 73, -1, 46, 71, -1, 46, 41, -1, - 46, 31, -1, 20, 74, 31, -1, 19, 75, 78, - 31, -1, 21, 79, 78, 31, -1, 22, 26, 78, - 31, -1, 23, 80, 80, 78, 31, -1, 24, 49, - 31, -1, -1, 49, 26, 50, -1, -1, 34, 75, - -1, 7, 31, -1, 51, 55, -1, 76, -1, 52, - 57, 53, -1, -1, 55, 56, -1, 55, 73, -1, - 55, 71, -1, 55, 31, -1, 55, 41, -1, 19, - 75, 78, 31, -1, 20, 74, 31, -1, 18, 31, - -1, 21, 26, 78, 31, -1, -1, 57, 40, -1, - 14, 79, 77, -1, 76, -1, 58, 61, 59, -1, - -1, 61, 40, -1, 61, 65, -1, 61, 54, -1, - 4, 75, 31, -1, 62, 72, -1, 76, -1, 63, - 66, 64, -1, -1, 66, 40, -1, 66, 65, -1, - 66, 54, -1, 6, 75, 31, -1, 9, 75, 31, - -1, 68, 72, -1, 12, 31, -1, 70, 13, -1, - -1, 72, 73, -1, 72, 31, -1, 72, 41, -1, - 16, 25, 79, 31, -1, 16, 79, 31, -1, 17, - 79, 31, -1, -1, 75, 78, -1, 26, -1, 27, - -1, 5, 31, -1, 8, 31, -1, 15, 31, -1, - 31, -1, 77, 31, -1, -1, 14, 79, -1, 80, - -1, 80, 34, 80, -1, 80, 28, 80, -1, 30, - 79, 29, -1, 35, 79, -1, 79, 32, 79, -1, - 79, 33, 79, -1, 26, -1, 27, -1 + -1, 32, -1, 61, -1, 70, -1, 44, -1, 46, + -1, 68, -1, 82, -1, 27, 1, 32, -1, 1, + 32, -1, 10, 27, 32, -1, 43, 47, -1, 11, + 27, 32, -1, 45, 47, -1, -1, 47, 48, -1, + 47, 49, -1, 47, 74, -1, 47, 72, -1, 47, + 42, -1, 47, 32, -1, 20, 75, 32, -1, 19, + 76, 79, 32, -1, 21, 80, 79, 32, -1, 22, + 27, 79, 32, -1, 23, 81, 81, 79, 32, -1, + 24, 50, 32, -1, -1, 50, 27, 51, -1, -1, + 35, 76, -1, 7, 32, -1, 52, 56, -1, 77, + -1, 53, 58, 54, -1, -1, 56, 57, -1, 56, + 74, -1, 56, 72, -1, 56, 32, -1, 56, 42, + -1, 19, 76, 79, 32, -1, 20, 75, 32, -1, + 18, 32, -1, 21, 27, 79, 32, -1, -1, 58, + 41, -1, 14, 80, 78, -1, 77, -1, 59, 62, + 60, -1, -1, 62, 41, -1, 62, 66, -1, 62, + 55, -1, 4, 76, 32, -1, 63, 73, -1, 77, + -1, 64, 67, 65, -1, -1, 67, 41, -1, 67, + 66, -1, 67, 55, -1, 6, 76, 32, -1, 9, + 76, 32, -1, 69, 73, -1, 12, 32, -1, 71, + 13, -1, -1, 73, 74, -1, 73, 32, -1, 73, + 42, -1, 16, 25, 80, 32, -1, 16, 80, 32, + -1, 17, 80, 32, -1, -1, 76, 79, -1, 27, + -1, 28, -1, 5, 32, -1, 8, 32, -1, 15, + 32, -1, 32, -1, 78, 32, -1, -1, 14, 80, + -1, 81, -1, 81, 35, 81, -1, 81, 29, 81, + -1, 31, 80, 30, -1, 36, 80, -1, 80, 33, + 80, -1, 80, 34, 80, -1, 27, -1, 28, -1, + 26, 27, 79, 32, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 105, 105, 107, 109, 110, 111, 112, 113, 114, - 115, 119, 123, 123, 123, 123, 123, 123, 123, 127, - 128, 129, 130, 131, 132, 136, 137, 143, 151, 157, - 165, 175, 177, 178, 179, 180, 181, 182, 185, 193, - 199, 209, 215, 221, 224, 226, 237, 238, 243, 252, - 257, 265, 268, 270, 271, 272, 273, 274, 277, 283, - 294, 300, 310, 312, 317, 325, 333, 336, 338, 339, - 340, 345, 352, 357, 365, 368, 370, 371, 372, 375, - 383, 390, 397, 403, 410, 412, 413, 414, 417, 422, - 427, 435, 437, 442, 443, 446, 447, 448, 452, 453, - 456, 457, 460, 461, 462, 463, 464, 465, 466, 469, - 470 + 0, 106, 106, 108, 110, 111, 112, 113, 114, 115, + 116, 120, 124, 124, 124, 124, 124, 124, 124, 128, + 129, 130, 131, 132, 133, 134, 138, 139, 145, 153, + 159, 167, 177, 179, 180, 181, 182, 183, 184, 187, + 195, 201, 211, 217, 223, 226, 228, 239, 240, 245, + 254, 259, 267, 270, 272, 273, 274, 275, 276, 279, + 285, 296, 302, 312, 314, 319, 327, 335, 338, 340, + 341, 342, 347, 354, 359, 367, 370, 372, 373, 374, + 377, 385, 392, 399, 405, 412, 414, 415, 416, 419, + 424, 429, 437, 439, 444, 445, 448, 449, 450, 454, + 455, 458, 459, 462, 463, 464, 465, 466, 467, 468, + 471, 472, 477 }; #endif @@ -509,18 +512,19 @@ static const char *const yytname[] = "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", - "T_SELECT", "T_RANGE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", - "T_UNEQUAL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", - "T_EQUAL", "T_NOT", "$accept", "input", "stmt_list", "option_name", - "common_stmt", "option_error", "config_entry_start", "config_stmt", - "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", - "config_option", "symbol_option", "symbol_option_list", - "symbol_option_arg", "choice", "choice_entry", "choice_end", - "choice_stmt", "choice_option_list", "choice_option", "choice_block", - "if_entry", "if_end", "if_stmt", "if_block", "menu", "menu_entry", - "menu_end", "menu_stmt", "menu_block", "source_stmt", "comment", - "comment_stmt", "help_start", "help", "depends_list", "depends", - "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr", "symbol", 0 + "T_SELECT", "T_RANGE", "T_OPTION", "T_ON", "T_DISABLE", "T_WORD", + "T_WORD_QUOTE", "T_UNEQUAL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", + "T_OR", "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "stmt_list", + "option_name", "common_stmt", "option_error", "config_entry_start", + "config_stmt", "menuconfig_entry_start", "menuconfig_stmt", + "config_option_list", "config_option", "symbol_option", + "symbol_option_list", "symbol_option_arg", "choice", "choice_entry", + "choice_end", "choice_stmt", "choice_option_list", "choice_option", + "choice_block", "if_entry", "if_end", "if_stmt", "if_block", "menu", + "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt", + "comment", "comment_stmt", "help_start", "help", "depends_list", + "depends", "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr", + "symbol", "disable_stmt", 0 }; #endif @@ -532,25 +536,25 @@ static const unsigned short int yytoknum 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290 + 285, 286, 287, 288, 289, 290, 291 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 36, 37, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, - 40, 40, 40, 40, 40, 41, 41, 42, 43, 44, - 45, 46, 46, 46, 46, 46, 46, 46, 47, 47, - 47, 47, 47, 48, 49, 49, 50, 50, 51, 52, - 53, 54, 55, 55, 55, 55, 55, 55, 56, 56, - 56, 56, 57, 57, 58, 59, 60, 61, 61, 61, - 61, 62, 63, 64, 65, 66, 66, 66, 66, 67, - 68, 69, 70, 71, 72, 72, 72, 72, 73, 73, - 73, 74, 74, 75, 75, 76, 76, 76, 77, 77, - 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, - 80 + 0, 37, 38, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 40, 40, 40, 40, 40, 40, 40, 41, + 41, 41, 41, 41, 41, 41, 42, 42, 43, 44, + 45, 46, 47, 47, 47, 47, 47, 47, 47, 48, + 48, 48, 48, 48, 49, 50, 50, 51, 51, 52, + 53, 54, 55, 56, 56, 56, 56, 56, 56, 57, + 57, 57, 57, 58, 58, 59, 60, 61, 62, 62, + 62, 62, 63, 64, 65, 66, 67, 67, 67, 67, + 68, 69, 70, 71, 72, 73, 73, 73, 73, 74, + 74, 74, 75, 75, 76, 76, 77, 77, 77, 78, + 78, 79, 79, 80, 80, 80, 80, 80, 80, 80, + 81, 81, 82 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -558,16 +562,16 @@ static const unsigned char yyr2[] = { 0, 2, 1, 0, 2, 2, 2, 4, 2, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 2, 3, 2, 3, - 2, 0, 2, 2, 2, 2, 2, 2, 3, 4, - 4, 4, 5, 3, 0, 3, 0, 2, 2, 2, - 1, 3, 0, 2, 2, 2, 2, 2, 4, 3, - 2, 4, 0, 2, 3, 1, 3, 0, 2, 2, - 2, 3, 2, 1, 3, 0, 2, 2, 2, 3, - 3, 2, 2, 2, 0, 2, 2, 2, 4, 3, - 3, 0, 2, 1, 1, 2, 2, 2, 1, 2, - 0, 2, 1, 3, 3, 3, 2, 3, 3, 1, - 1 + 1, 1, 1, 1, 1, 1, 3, 2, 3, 2, + 3, 2, 0, 2, 2, 2, 2, 2, 2, 3, + 4, 4, 4, 5, 3, 0, 3, 0, 2, 2, + 2, 1, 3, 0, 2, 2, 2, 2, 2, 4, + 3, 2, 4, 0, 2, 3, 1, 3, 0, 2, + 2, 2, 3, 2, 1, 3, 0, 2, 2, 2, + 3, 3, 2, 2, 2, 0, 2, 2, 2, 4, + 3, 3, 0, 2, 1, 1, 2, 2, 2, 1, + 2, 0, 2, 1, 3, 3, 3, 2, 3, 3, + 1, 1, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -577,163 +581,165 @@ static const unsigned char yydefact[] = { 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 16, 13, 14, - 18, 15, 17, 0, 19, 0, 4, 31, 22, 31, - 23, 52, 62, 5, 67, 20, 84, 75, 6, 24, - 84, 21, 8, 11, 93, 94, 0, 0, 95, 0, - 48, 96, 0, 0, 0, 109, 110, 0, 0, 0, - 102, 97, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 98, 7, 71, 79, 80, 27, 29, 0, - 106, 0, 0, 64, 0, 0, 9, 10, 0, 0, - 0, 0, 0, 91, 0, 0, 0, 44, 0, 37, - 36, 32, 33, 0, 35, 34, 0, 0, 91, 0, - 56, 57, 53, 55, 54, 63, 51, 50, 68, 70, - 66, 69, 65, 86, 87, 85, 76, 78, 74, 77, - 73, 99, 105, 107, 108, 104, 103, 26, 82, 0, - 0, 0, 100, 0, 100, 100, 100, 0, 0, 0, - 83, 60, 100, 0, 100, 0, 89, 90, 0, 0, - 38, 92, 0, 0, 100, 46, 43, 25, 0, 59, - 0, 88, 101, 39, 40, 41, 0, 0, 45, 58, - 61, 42, 47 + 18, 15, 17, 0, 0, 19, 0, 4, 32, 22, + 32, 23, 53, 63, 5, 68, 20, 85, 76, 6, + 24, 85, 21, 8, 25, 11, 94, 95, 0, 0, + 96, 0, 49, 97, 0, 0, 0, 110, 111, 0, + 0, 0, 103, 98, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 99, 7, 72, 80, 81, + 28, 30, 0, 107, 0, 0, 65, 0, 0, 0, + 0, 9, 10, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 45, 0, 38, 37, 33, 34, 0, 36, + 35, 0, 0, 92, 0, 57, 58, 54, 56, 55, + 64, 52, 51, 69, 71, 67, 70, 66, 87, 88, + 86, 77, 79, 75, 78, 74, 100, 106, 108, 109, + 105, 104, 102, 112, 27, 83, 0, 0, 0, 101, + 0, 101, 101, 101, 0, 0, 0, 84, 61, 101, + 0, 101, 0, 90, 91, 0, 39, 93, 0, 0, + 101, 47, 44, 26, 0, 60, 0, 89, 40, 41, + 42, 0, 0, 46, 59, 62, 43, 48 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 1, 2, 25, 26, 100, 27, 28, 29, 30, - 64, 101, 102, 148, 178, 31, 32, 116, 33, 66, - 112, 67, 34, 120, 35, 68, 36, 37, 128, 38, - 70, 39, 40, 41, 103, 104, 69, 105, 143, 144, - 42, 73, 159, 59, 60 + -1, 1, 2, 26, 27, 105, 28, 29, 30, 31, + 67, 106, 107, 155, 183, 32, 33, 121, 34, 69, + 117, 70, 35, 125, 36, 71, 37, 38, 133, 39, + 73, 40, 41, 42, 108, 109, 72, 110, 150, 151, + 43, 76, 90, 61, 62, 44 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -135 +#define YYPACT_NINF -81 static const short int yypact[] = { - -135, 2, 170, -135, -14, 56, 56, -8, 56, 24, - 67, 56, 7, 14, 62, 97, -135, -135, -135, -135, - -135, -135, -135, 156, -135, 166, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, 138, 151, -135, 152, - -135, -135, 163, 167, 176, -135, -135, 62, 62, 185, - -19, -135, 188, 190, 42, 103, 194, 85, 70, 222, - 70, 132, -135, 191, -135, -135, -135, -135, -135, 127, - -135, 62, 62, 191, 104, 104, -135, -135, 193, 203, - 9, 62, 56, 56, 62, 161, 104, -135, 196, -135, - -135, -135, -135, 233, -135, -135, 204, 56, 56, 221, - -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, 219, -135, -135, -135, -135, -135, 62, - 209, 212, 240, 224, 240, -1, 240, 104, 41, 225, - -135, -135, 240, 226, 240, 218, -135, -135, 62, 227, - -135, -135, 228, 229, 240, 230, -135, -135, 231, -135, - 232, -135, 112, -135, -135, -135, 234, 56, -135, -135, - -135, -135, -135 + -81, 39, 160, -81, -30, -10, -10, 15, -10, 26, + 38, -10, 54, 55, 48, 61, -81, -81, -81, -81, + -81, -81, -81, 60, 87, -81, 95, -81, -81, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, -81, -81, -81, 90, 91, + -81, 104, -81, -81, 105, 116, 130, -81, -81, 48, + 48, 125, 3, -81, 158, 141, 152, 45, 94, 188, + 231, 5, 217, 5, 124, -81, 153, -81, -81, -81, + -81, -81, 56, -81, 48, 48, 153, -1, -1, 48, + 159, -81, -81, 163, 169, -3, 48, -10, -10, 48, + 92, -1, -81, 211, -81, -81, -81, -81, 216, -81, + -81, 198, -10, -10, 208, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, -81, -81, -81, 204, -81, + -81, -81, 2, -81, -81, -81, 48, 221, 232, 158, + 215, 158, 9, 158, -1, 46, 224, -81, -81, 158, + 227, 158, 238, -81, -81, 229, -81, -81, 230, 235, + 158, 233, -81, -81, 241, -81, 242, -81, -81, -81, + -81, 243, -10, -81, -81, -81, -81, -81 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -135, -135, -135, -135, 94, -45, -135, -135, -135, -135, - 237, -135, -135, -135, -135, -135, -135, -135, -54, -135, - -135, -135, -135, -135, -135, -135, -135, -135, -135, 1, - -135, -135, -135, -135, -135, 195, 235, -44, 159, -5, - 98, 210, -134, -53, -77 + -81, -81, -81, -81, 140, 11, -81, -81, -81, -81, + 246, -81, -81, -81, -81, -81, -81, -81, 82, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, 117, + -81, -81, -81, -81, -81, 209, 236, 80, 166, -5, + 146, 219, 99, -55, -80, -81 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -82 +#define YYTABLE_NINF -83 static const short int yytable[] = { - 46, 47, 3, 49, 79, 80, 52, 135, 136, 84, - 161, 162, 163, 158, 119, 85, 127, 43, 168, 147, - 170, 111, 114, 48, 124, 125, 124, 125, 133, 134, - 176, 81, 82, 53, 139, 55, 56, 140, 141, 57, - 54, 145, -28, 88, 58, -28, -28, -28, -28, -28, - -28, -28, -28, -28, 89, 50, -28, -28, 90, 91, - -28, 92, 93, 94, 95, 96, 97, 165, 98, 121, - 164, 129, 166, 99, 6, 7, 8, 9, 10, 11, - 12, 13, 44, 45, 14, 15, 155, 142, 55, 56, - 7, 8, 57, 10, 11, 12, 13, 58, 51, 14, - 15, 24, 152, -30, 88, 172, -30, -30, -30, -30, - -30, -30, -30, -30, -30, 89, 24, -30, -30, 90, - 91, -30, 92, 93, 94, 95, 96, 97, 61, 98, - 55, 56, -81, 88, 99, -81, -81, -81, -81, -81, - -81, -81, -81, -81, 81, 82, -81, -81, 90, 91, - -81, -81, -81, -81, -81, -81, 132, 62, 98, 81, - 82, 115, 118, 123, 126, 117, 122, 63, 130, 72, - -2, 4, 182, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 74, 75, 14, 15, 16, 146, 17, 18, - 19, 20, 21, 22, 76, 88, 23, 149, 77, -49, - -49, 24, -49, -49, -49, -49, 89, 78, -49, -49, - 90, 91, 106, 107, 108, 109, 72, 81, 82, 86, - 98, 87, 131, 88, 137, 110, -72, -72, -72, -72, - -72, -72, -72, -72, 138, 151, -72, -72, 90, 91, - 156, 81, 82, 157, 81, 82, 150, 154, 98, 171, - 81, 82, 82, 123, 158, 160, 167, 169, 173, 174, - 175, 113, 179, 180, 177, 181, 65, 153, 0, 83, - 0, 0, 0, 0, 0, 71 + 48, 49, 45, 51, 82, 83, 54, 140, 141, 6, + 7, 8, 9, 10, 11, 12, 13, 46, 47, 14, + 15, 154, 146, 89, 57, 58, 57, 58, 59, 138, + 139, 23, 87, 60, 142, 84, 85, 25, 88, 3, + 147, 148, 84, 85, 152, -29, 93, 50, -29, -29, + -29, -29, -29, -29, -29, -29, -29, 94, 52, -29, + -29, 95, 96, -29, 97, 98, 99, 100, 101, 102, + 53, -29, 103, 171, 170, 57, 58, 104, 172, 59, + 116, 55, 56, 129, 60, 129, 137, 64, 65, 84, + 85, 162, 149, 63, -31, 93, 66, -31, -31, -31, + -31, -31, -31, -31, -31, -31, 94, 159, -31, -31, + 95, 96, -31, 97, 98, 99, 100, 101, 102, 153, + -31, 103, 75, 77, -82, 93, 104, -82, -82, -82, + -82, -82, -82, -82, -82, -82, 78, 79, -82, -82, + 95, 96, -82, -82, -82, -82, -82, -82, 80, 119, + -82, 103, 130, 124, 130, 132, 128, 75, 84, 85, + -2, 4, 81, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 89, 91, 14, 15, 16, 187, 17, 18, + 19, 20, 21, 22, 92, 136, 23, 24, 126, 93, + 134, 143, 25, -50, -50, 144, -50, -50, -50, -50, + 94, 145, -50, -50, 95, 96, 111, 112, 113, 114, + 120, 123, 156, 131, -50, 103, 122, 127, 93, 135, + 115, -73, -73, -73, -73, -73, -73, -73, -73, 157, + 158, -73, -73, 95, 96, 161, 7, 8, 85, 10, + 11, 12, 13, -73, 103, 14, 15, 166, 165, 128, + 167, 168, 169, 163, 84, 85, 173, 23, 174, 175, + 176, 178, 179, 25, 164, 84, 85, 180, 182, 181, + 177, 84, 85, 184, 185, 186, 68, 74, 118, 160, + 86 }; -static const short int yycheck[] = +static const unsigned char yycheck[] = { - 5, 6, 0, 8, 57, 58, 11, 84, 85, 28, - 144, 145, 146, 14, 68, 34, 70, 31, 152, 96, - 154, 66, 66, 31, 69, 69, 71, 71, 81, 82, - 164, 32, 33, 26, 25, 26, 27, 90, 91, 30, - 26, 94, 0, 1, 35, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 31, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 26, 26, 68, - 147, 70, 31, 31, 4, 5, 6, 7, 8, 9, - 10, 11, 26, 27, 14, 15, 139, 92, 26, 27, - 5, 6, 30, 8, 9, 10, 11, 35, 31, 14, - 15, 31, 107, 0, 1, 158, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 31, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 31, 26, - 26, 27, 0, 1, 31, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 32, 33, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 29, 1, 26, 32, - 33, 67, 68, 31, 70, 67, 68, 1, 70, 31, - 0, 1, 177, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 31, 31, 14, 15, 16, 26, 18, 19, - 20, 21, 22, 23, 31, 1, 26, 1, 31, 5, - 6, 31, 8, 9, 10, 11, 12, 31, 14, 15, - 16, 17, 18, 19, 20, 21, 31, 32, 33, 31, - 26, 31, 31, 1, 31, 31, 4, 5, 6, 7, - 8, 9, 10, 11, 31, 31, 14, 15, 16, 17, - 31, 32, 33, 31, 32, 33, 13, 26, 26, 31, - 32, 33, 33, 31, 14, 31, 31, 31, 31, 31, - 31, 66, 31, 31, 34, 31, 29, 108, -1, 59, - -1, -1, -1, -1, -1, 40 + 5, 6, 32, 8, 59, 60, 11, 87, 88, 4, + 5, 6, 7, 8, 9, 10, 11, 27, 28, 14, + 15, 101, 25, 14, 27, 28, 27, 28, 31, 84, + 85, 26, 29, 36, 89, 33, 34, 32, 35, 0, + 95, 96, 33, 34, 99, 0, 1, 32, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 32, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 32, 26, 27, 27, 154, 27, 28, 32, 32, 31, + 69, 27, 27, 72, 36, 74, 30, 27, 1, 33, + 34, 146, 97, 32, 0, 1, 1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 112, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, + 26, 27, 32, 32, 0, 1, 32, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 32, 32, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 32, 69, + 26, 27, 72, 71, 74, 73, 32, 32, 33, 34, + 0, 1, 32, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 14, 32, 14, 15, 16, 182, 18, 19, + 20, 21, 22, 23, 32, 32, 26, 27, 71, 1, + 73, 32, 32, 5, 6, 32, 8, 9, 10, 11, + 12, 32, 14, 15, 16, 17, 18, 19, 20, 21, + 70, 71, 1, 73, 26, 27, 70, 71, 1, 73, + 32, 4, 5, 6, 7, 8, 9, 10, 11, 13, + 32, 14, 15, 16, 17, 27, 5, 6, 34, 8, + 9, 10, 11, 26, 27, 14, 15, 32, 149, 32, + 151, 152, 153, 32, 33, 34, 32, 26, 159, 32, + 161, 32, 32, 32, 32, 33, 34, 32, 35, 170, + 32, 33, 34, 32, 32, 32, 30, 41, 69, 113, + 61 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 37, 38, 0, 1, 3, 4, 5, 6, 7, + 0, 38, 39, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 18, 19, 20, - 21, 22, 23, 26, 31, 39, 40, 42, 43, 44, - 45, 51, 52, 54, 58, 60, 62, 63, 65, 67, - 68, 69, 76, 31, 26, 27, 75, 75, 31, 75, - 31, 31, 75, 26, 26, 26, 27, 30, 35, 79, - 80, 31, 1, 1, 46, 46, 55, 57, 61, 72, - 66, 72, 31, 77, 31, 31, 31, 31, 31, 79, - 79, 32, 33, 77, 28, 34, 31, 31, 1, 12, - 16, 17, 19, 20, 21, 22, 23, 24, 26, 31, - 41, 47, 48, 70, 71, 73, 18, 19, 20, 21, - 31, 41, 56, 71, 73, 40, 53, 76, 40, 54, - 59, 65, 76, 31, 41, 73, 40, 54, 64, 65, - 76, 31, 29, 79, 79, 80, 80, 31, 31, 25, - 79, 79, 75, 74, 75, 79, 26, 80, 49, 1, - 13, 31, 75, 74, 26, 79, 31, 31, 14, 78, - 31, 78, 78, 78, 80, 26, 31, 31, 78, 31, - 78, 31, 79, 31, 31, 31, 78, 34, 50, 31, - 31, 31, 75 + 21, 22, 23, 26, 27, 32, 40, 41, 43, 44, + 45, 46, 52, 53, 55, 59, 61, 63, 64, 66, + 68, 69, 70, 77, 82, 32, 27, 28, 76, 76, + 32, 76, 32, 32, 76, 27, 27, 27, 28, 31, + 36, 80, 81, 32, 27, 1, 1, 47, 47, 56, + 58, 62, 73, 67, 73, 32, 78, 32, 32, 32, + 32, 32, 80, 80, 33, 34, 78, 29, 35, 14, + 79, 32, 32, 1, 12, 16, 17, 19, 20, 21, + 22, 23, 24, 27, 32, 42, 48, 49, 71, 72, + 74, 18, 19, 20, 21, 32, 42, 57, 72, 74, + 41, 54, 77, 41, 55, 60, 66, 77, 32, 42, + 74, 41, 55, 65, 66, 77, 32, 30, 80, 80, + 81, 81, 80, 32, 32, 32, 25, 80, 80, 76, + 75, 76, 80, 27, 81, 50, 1, 13, 32, 76, + 75, 27, 80, 32, 32, 79, 32, 79, 79, 79, + 81, 27, 32, 32, 79, 32, 79, 32, 32, 32, + 32, 79, 35, 51, 32, 32, 32, 76 }; #define yyerrok (yyerrstatus = 0) @@ -1102,7 +1108,7 @@ yydestruct (yymsg, yytype, yyvaluep) switch (yytype) { - case 52: /* "choice_entry" */ + case 53: /* "choice_entry" */ { fprintf(stderr, "%s:%d: missing end statement for this entry\n", @@ -1112,7 +1118,7 @@ yydestruct (yymsg, yytype, yyvaluep) }; break; - case 58: /* "if_entry" */ + case 59: /* "if_entry" */ { fprintf(stderr, "%s:%d: missing end statement for this entry\n", @@ -1122,7 +1128,7 @@ yydestruct (yymsg, yytype, yyvaluep) }; break; - case 63: /* "menu_entry" */ + case 64: /* "menu_entry" */ { fprintf(stderr, "%s:%d: missing end statement for this entry\n", @@ -1454,17 +1460,17 @@ yyreduce: { zconf_error("invalid statement"); ;} break; - case 25: + case 26: { zconf_error("unknown option \"%s\"", (yyvsp[-2].string)); ;} break; - case 26: + case 27: { zconf_error("invalid option"); ;} break; - case 27: + case 28: { struct symbol *sym = sym_lookup((yyvsp[-1].string), 0); @@ -1474,7 +1480,7 @@ yyreduce: ;} break; - case 28: + case 29: { menu_end_entry(); @@ -1482,7 +1488,7 @@ yyreduce: ;} break; - case 29: + case 30: { struct symbol *sym = sym_lookup((yyvsp[-1].string), 0); @@ -1492,7 +1498,7 @@ yyreduce: ;} break; - case 30: + case 31: { if (current_entry->prompt) @@ -1504,7 +1510,7 @@ yyreduce: ;} break; - case 38: + case 39: { menu_set_type((yyvsp[-2].id)->stype); @@ -1514,7 +1520,7 @@ yyreduce: ;} break; - case 39: + case 40: { menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); @@ -1522,7 +1528,7 @@ yyreduce: ;} break; - case 40: + case 41: { menu_add_expr(P_DEFAULT, (yyvsp[-2].expr), (yyvsp[-1].expr)); @@ -1534,7 +1540,7 @@ yyreduce: ;} break; - case 41: + case 42: { menu_add_symbol(P_SELECT, sym_lookup((yyvsp[-2].string), 0), (yyvsp[-1].expr)); @@ -1542,7 +1548,7 @@ yyreduce: ;} break; - case 42: + case 43: { menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[-3].symbol), (yyvsp[-2].symbol)), (yyvsp[-1].expr)); @@ -1550,7 +1556,7 @@ yyreduce: ;} break; - case 45: + case 46: { struct kconf_id *id = kconf_id_lookup((yyvsp[-1].string), strlen((yyvsp[-1].string))); @@ -1562,17 +1568,17 @@ yyreduce: ;} break; - case 46: + case 47: { (yyval.string) = NULL; ;} break; - case 47: + case 48: { (yyval.string) = (yyvsp[0].string); ;} break; - case 48: + case 49: { struct symbol *sym = sym_lookup(NULL, 0); @@ -1583,14 +1589,14 @@ yyreduce: ;} break; - case 49: + case 50: { (yyval.menu) = menu_add_menu(); ;} break; - case 50: + case 51: { if (zconf_endtoken((yyvsp[0].id), T_CHOICE, T_ENDCHOICE)) { @@ -1600,7 +1606,7 @@ yyreduce: ;} break; - case 58: + case 59: { menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); @@ -1608,7 +1614,7 @@ yyreduce: ;} break; - case 59: + case 60: { if ((yyvsp[-2].id)->stype == S_BOOLEAN || (yyvsp[-2].id)->stype == S_TRISTATE) { @@ -1621,7 +1627,7 @@ yyreduce: ;} break; - case 60: + case 61: { current_entry->sym->flags |= SYMBOL_OPTIONAL; @@ -1629,7 +1635,7 @@ yyreduce: ;} break; - case 61: + case 62: { if ((yyvsp[-3].id)->stype == S_UNKNOWN) { @@ -1641,7 +1647,7 @@ yyreduce: ;} break; - case 64: + case 65: { printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); @@ -1651,7 +1657,7 @@ yyreduce: ;} break; - case 65: + case 66: { if (zconf_endtoken((yyvsp[0].id), T_IF, T_ENDIF)) { @@ -1661,7 +1667,7 @@ yyreduce: ;} break; - case 71: + case 72: { menu_add_entry(NULL); @@ -1670,14 +1676,14 @@ yyreduce: ;} break; - case 72: + case 73: { (yyval.menu) = menu_add_menu(); ;} break; - case 73: + case 74: { if (zconf_endtoken((yyvsp[0].id), T_MENU, T_ENDMENU)) { @@ -1687,7 +1693,7 @@ yyreduce: ;} break; - case 79: + case 80: { printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].string)); @@ -1695,7 +1701,7 @@ yyreduce: ;} break; - case 80: + case 81: { menu_add_entry(NULL); @@ -1704,14 +1710,14 @@ yyreduce: ;} break; - case 81: + case 82: { menu_end_entry(); ;} break; - case 82: + case 83: { printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); @@ -1719,14 +1725,14 @@ yyreduce: ;} break; - case 83: + case 84: { current_entry->sym->help = (yyvsp[0].string); ;} break; - case 88: + case 89: { menu_add_dep((yyvsp[-1].expr)); @@ -1734,7 +1740,7 @@ yyreduce: ;} break; - case 89: + case 90: { menu_add_dep((yyvsp[-1].expr)); @@ -1742,7 +1748,7 @@ yyreduce: ;} break; - case 90: + case 91: { menu_add_dep((yyvsp[-1].expr)); @@ -1750,83 +1756,97 @@ yyreduce: ;} break; - case 92: + case 93: { menu_add_prompt(P_PROMPT, (yyvsp[-1].string), (yyvsp[0].expr)); ;} break; - case 95: + case 96: { (yyval.id) = (yyvsp[-1].id); ;} break; - case 96: + case 97: { (yyval.id) = (yyvsp[-1].id); ;} break; - case 97: + case 98: { (yyval.id) = (yyvsp[-1].id); ;} break; - case 100: + case 101: { (yyval.expr) = NULL; ;} break; - case 101: + case 102: { (yyval.expr) = (yyvsp[0].expr); ;} break; - case 102: + case 103: { (yyval.expr) = expr_alloc_symbol((yyvsp[0].symbol)); ;} break; - case 103: + case 104: { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); ;} break; - case 104: + case 105: { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); ;} break; - case 105: + case 106: { (yyval.expr) = (yyvsp[-1].expr); ;} break; - case 106: + case 107: { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[0].expr)); ;} break; - case 107: + case 108: { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[-2].expr), (yyvsp[0].expr)); ;} break; - case 108: + case 109: { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); ;} break; - case 109: + case 110: { (yyval.symbol) = sym_lookup((yyvsp[0].string), 0); free((yyvsp[0].string)); ;} break; - case 110: + case 111: { (yyval.symbol) = sym_lookup((yyvsp[0].string), 1); free((yyvsp[0].string)); ;} break; + case 112: + + { + struct symbol *sym = sym_lookup((yyvsp[-2].string), 0); + struct expr *dep; + + dep = (yyvsp[-1].expr); + if (!dep) + dep = expr_alloc_symbol(&symbol_yes); + sym->disable = expr_alloc_and(sym->disable, dep); + printd(DEBUG_PARSE, "%s:%d:disable\n", zconf_curname(), zconf_lineno()); +;} + break; + default: break; } ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [Kconfig] add disable command (was Re: [patch] s390 kconfig cleanup, 2nd version). 2006-07-07 16:19 ` [Kconfig] add disable command (was Re: [patch] s390 kconfig cleanup, 2nd version) Martin Schwidefsky @ 2006-07-07 19:27 ` Andrew Morton 0 siblings, 0 replies; 30+ messages in thread From: Andrew Morton @ 2006-07-07 19:27 UTC (permalink / raw) To: schwidefsky; +Cc: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew, zippel On Fri, 07 Jul 2006 18:19:08 +0200 Martin Schwidefsky <schwidefsky@de.ibm.com> wrote: > On Fri, 2006-06-30 at 10:41 -0700, Andrew Morton wrote: > > Even better would be to teach the Kconfig sytem about this, so in > > arch/s390/Kconfig we do > > > > disable VT > > > > and the Kconfig system knows not to offer VT, so there's no need to go > > adding `depends on !DISABLE_foo' all over the place. The above DISABLE_foo > > convention just simulates that missing feature. > > > > > > > + depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !S390 > > > > Imagine not having crud like this in there. > > I've given this a try and implemented the "disable" command. Seems to > work fine for me. The command would certainly make my life easier in > regard to the s390 Kconfig stuff. Neat. Now we all need to cower in fear at Roman's reaction ;) One would expect that doing "/VGA_CONSOLE" in menuconfig would answer the question "ytf can't I enable VGA_CONSOLE". ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Kconfig] use disable command (was Re: [patch] s390 kconfig cleanup, 2nd version). 2006-06-30 17:41 ` Andrew Morton ` (2 preceding siblings ...) 2006-07-07 16:19 ` [Kconfig] add disable command (was Re: [patch] s390 kconfig cleanup, 2nd version) Martin Schwidefsky @ 2006-07-07 16:19 ` Martin Schwidefsky 2006-07-07 19:48 ` Matthew Wilcox 3 siblings, 1 reply; 30+ messages in thread From: Martin Schwidefsky @ 2006-07-07 16:19 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-arch, ak, geert, Keir.Fraser, chrisw, matthew, zippel On Fri, 2006-06-30 at 10:41 -0700, Andrew Morton wrote: > Even better would be to teach the Kconfig sytem about this, so in > arch/s390/Kconfig we do > > disable VT > > and the Kconfig system knows not to offer VT, so there's no need to go > adding `depends on !DISABLE_foo' all over the place. The above DISABLE_foo > convention just simulates that missing feature. > > > > + depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !S390 > > Imagine not having crud like this in there. And this patch uses the disable option to simplify a few config options, e.g. the above depends line. -- blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin. -- From: Martin Schwidefsky <schwidefsky@de.ibm.com> [Kconfig] use disable command. Use the new disable command to simplify some Kconfig options. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> --- arch/arm/Kconfig | 4 ++++ arch/frv/Kconfig | 12 ++++++++++++ arch/h8300/Kconfig | 2 +- arch/ia64/Kconfig | 5 +++++ arch/m32r/Kconfig | 3 +++ arch/m68k/Kconfig | 11 +++++++++++ arch/m68knommu/Kconfig | 10 ++++++++++ arch/parisc/Kconfig | 11 +++++++++++ arch/powerpc/Kconfig | 9 +++++++++ arch/ppc/Kconfig | 7 +++++++ arch/s390/Kconfig | 2 ++ arch/sparc/Kconfig | 14 ++++++++++++++ arch/sparc64/Kconfig | 12 ++++++++++++ arch/um/Kconfig | 3 +++ arch/x86_64/Kconfig | 4 ++++ drivers/block/Kconfig | 2 -- drivers/char/Kconfig | 5 ++--- drivers/eisa/Kconfig | 2 +- drivers/fc4/Kconfig | 2 +- drivers/firmware/Kconfig | 1 - drivers/ide/Kconfig | 2 +- drivers/input/misc/Kconfig | 2 +- drivers/input/serio/Kconfig | 1 - drivers/isdn/hisax/Kconfig | 11 +++++------ drivers/media/video/Kconfig | 6 +++--- drivers/parport/Kconfig | 1 - drivers/serial/Kconfig | 2 +- drivers/video/Kconfig | 2 +- drivers/video/console/Kconfig | 6 +++--- sound/pci/Kconfig | 2 +- 30 files changed, 128 insertions(+), 28 deletions(-) diff -urpN linux-2.6/arch/arm/Kconfig linux-2.6-patched/arch/arm/Kconfig --- linux-2.6/arch/arm/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/arm/Kconfig 2006-07-07 17:59:39.000000000 +0200 @@ -3,6 +3,10 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable GEN_RTC +disable RTC +disable SERIO_I8042 if !ARCH_SHARK && !FOOTBRIDGE_HOST + mainmenu "Linux Kernel Configuration" config ARM diff -urpN linux-2.6/arch/frv/Kconfig linux-2.6-patched/arch/frv/Kconfig --- linux-2.6/arch/frv/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/frv/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -2,6 +2,18 @@ # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # + +disable BLK_DEV_INITRD if !BROKEN +disable GEN_RTC +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable HISAX_TELESPCI if !BROKEN +disable PARPORT_PC +disable RTC +disable VGA_CONSOLE + config FRV bool default y diff -urpN linux-2.6/arch/h8300/Kconfig linux-2.6-patched/arch/h8300/Kconfig --- linux-2.6/arch/h8300/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/h8300/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -136,7 +136,7 @@ config VT_CONSOLE config HW_CONSOLE bool - depends on VT && !S390 && !UM + depends on VT default y comment "Unix98 PTY support" diff -urpN linux-2.6/arch/ia64/Kconfig linux-2.6-patched/arch/ia64/Kconfig --- linux-2.6/arch/ia64/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/ia64/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -3,6 +3,11 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable EDD +disable GEN_RTC +disable RTC +disable SERIAL_8250_MANY_PORTS + mainmenu "IA-64 Linux Kernel Configuration" source "init/Kconfig" diff -urpN linux-2.6/arch/m32r/Kconfig linux-2.6-patched/arch/m32r/Kconfig --- linux-2.6/arch/m32r/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/m32r/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -3,6 +3,9 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable GEN_RTC +disable PARPORT_PC + mainmenu "Linux/M32R Kernel Configuration" config M32R diff -urpN linux-2.6/arch/m68k/Kconfig linux-2.6-patched/arch/m68k/Kconfig --- linux-2.6/arch/m68k/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/m68k/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -2,6 +2,17 @@ # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # + +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable HISAX_TELESPCI if !BROKEN +disable MDA_CONSOLE +disable RTC +disable SERIO_I8042 +disable VGA_CONSOLE + config M68K bool default y diff -urpN linux-2.6/arch/m68knommu/Kconfig linux-2.6-patched/arch/m68knommu/Kconfig --- linux-2.6/arch/m68knommu/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/m68knommu/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -3,6 +3,16 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable HISAX_TELESPCI if !BROKEN +disable MDA_CONSOLE +disable RTC +disable SERIO_I8042 +disable VGA_CONSOLE + mainmenu "uClinux/68k (w/o MMU) Kernel Configuration" config M68K diff -urpN linux-2.6/arch/parisc/Kconfig linux-2.6-patched/arch/parisc/Kconfig --- linux-2.6/arch/parisc/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/parisc/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -3,6 +3,17 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable EISA_PCI_EISA +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable HISAX_TELESPCI if !BROKEN +disable MDA_CONSOLE +disable RTC +disable SERIO_I8042 +disable VGA_CONSOLE + mainmenu "Linux/PA-RISC Kernel Configuration" config PARISC diff -urpN linux-2.6/arch/powerpc/Kconfig linux-2.6-patched/arch/powerpc/Kconfig --- linux-2.6/arch/powerpc/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/powerpc/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -2,6 +2,15 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_FRITZPCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable HISAX_TELESPCI if !BROKEN +disable RTC +disable VIDEO_STRADIS + mainmenu "Linux/PowerPC Kernel Configuration" config PPC64 diff -urpN linux-2.6/arch/ppc/Kconfig linux-2.6-patched/arch/ppc/Kconfig --- linux-2.6/arch/ppc/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/ppc/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -2,6 +2,13 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable HISAX_TELESPCI if !BROKEN +disable RTC + mainmenu "Linux/PowerPC Kernel Configuration" config MMU diff -urpN linux-2.6/arch/s390/Kconfig linux-2.6-patched/arch/s390/Kconfig --- linux-2.6/arch/s390/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/s390/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -3,6 +3,8 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable HW_CONSOLE + config MMU bool default y diff -urpN linux-2.6/arch/sparc/Kconfig linux-2.6-patched/arch/sparc/Kconfig --- linux-2.6/arch/sparc/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/sparc/Kconfig 2006-07-07 17:57:21.000000000 +0200 @@ -3,6 +3,20 @@ # see Documentation/kbuild/kconfig-language.txt. # +disable FB_ATY +disable FONT_MINI_4x6 +disable GEN_RTC +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable HISAX_TELESPCI if !BROKEN +disable PARPORT_PC +disable RTC if !PCI +disable SCSI_FCAL +disable VGA_CONSOLE +disable VIDEO_VIVI + mainmenu "Linux/SPARC Kernel Configuration" config MMU diff -urpN linux-2.6/arch/sparc64/Kconfig linux-2.6-patched/arch/sparc64/Kconfig --- linux-2.6/arch/sparc64/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/sparc64/Kconfig 2006-07-07 18:02:46.000000000 +0200 @@ -3,6 +3,18 @@ # see the Configure script. # +disable FONT_MINI_4x6 +disable GEN_RTC +disable HISAX_ENTERNOW_PCI if !BROKEN +disable HISAX_HFC_PCI if !BROKEN +disable HISAX_NETJET if !BROKEN +disable HISAX_NETJET_U if !BROKEN +disable PARPORT_PC if !PCI +disable RTC if !PCI +disable SCSI_FCAL +disable VGA_CONSOLE +disable VIDEO_VIVI + mainmenu "Linux/UltraSPARC Kernel Configuration" config SPARC diff -urpN linux-2.6/arch/um/Kconfig linux-2.6-patched/arch/um/Kconfig --- linux-2.6/arch/um/Kconfig 2006-07-07 17:56:20.000000000 +0200 +++ linux-2.6-patched/arch/um/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -1,3 +1,6 @@ +disable CDROM_PKTCDVD +disable HW_CONSOLE + # UML uses the generic IRQ sugsystem config GENERIC_HARDIRQS bool diff -urpN linux-2.6/arch/x86_64/Kconfig linux-2.6-patched/arch/x86_64/Kconfig --- linux-2.6/arch/x86_64/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/arch/x86_64/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -7,6 +7,10 @@ # ISA drivers you need yourself. # +disable BLK_DEV_CS5535 +disable INPUT_WISTRON_BTNS +disable SND_CS5535AUDIO + mainmenu "Linux Kernel Configuration" config X86_64 diff -urpN linux-2.6/drivers/block/Kconfig linux-2.6-patched/drivers/block/Kconfig --- linux-2.6/drivers/block/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/block/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -402,7 +402,6 @@ config BLK_DEV_RAM_SIZE config BLK_DEV_INITRD bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" - depends on BROKEN || !FRV help The initial RAM filesystem is a ramfs which is loaded by the boot loader (loadlin or lilo) and that is mounted as root @@ -416,7 +415,6 @@ config BLK_DEV_INITRD config CDROM_PKTCDVD tristate "Packet writing on CD/DVD media" - depends on !UML help If you have a CDROM drive that supports packet writing, say Y to include preliminary support. It should work with any MMC/Mt Fuji diff -urpN linux-2.6/drivers/char/Kconfig linux-2.6-patched/drivers/char/Kconfig --- linux-2.6/drivers/char/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/char/Kconfig 2006-07-07 17:57:36.000000000 +0200 @@ -59,7 +59,7 @@ config VT_CONSOLE config HW_CONSOLE bool - depends on VT && !S390 && !UML + depends on VT default y config VT_HW_CONSOLE_BINDING @@ -717,7 +717,6 @@ config NVRAM config RTC tristate "Enhanced Real Time Clock Support" - depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you @@ -765,7 +764,7 @@ config SGI_IP27_RTC config GEN_RTC tristate "Generic /dev/rtc emulation" - depends on RTC!=y && !IA64 && !ARM && !M32R && !SPARC && !FRV + depends on RTC!=y ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you diff -urpN linux-2.6/drivers/eisa/Kconfig linux-2.6-patched/drivers/eisa/Kconfig --- linux-2.6/drivers/eisa/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/eisa/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -14,7 +14,7 @@ config EISA_VLB_PRIMING config EISA_PCI_EISA bool "Generic PCI/EISA bridge" - depends on !PARISC && PCI && EISA + depends on PCI && EISA default y ---help--- Activate this option if your system contains a PCI to EISA diff -urpN linux-2.6/drivers/fc4/Kconfig linux-2.6-patched/drivers/fc4/Kconfig --- linux-2.6/drivers/fc4/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/fc4/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -75,7 +75,7 @@ config SCSI_FCAL config SCSI_FCAL prompt "Generic FC-AL disk driver" - depends on FC4!=n && SCSI && !SPARC + depends on FC4!=n && SCSI endmenu diff -urpN linux-2.6/drivers/firmware/Kconfig linux-2.6-patched/drivers/firmware/Kconfig --- linux-2.6/drivers/firmware/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/firmware/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -7,7 +7,6 @@ menu "Firmware Drivers" config EDD tristate "BIOS Enhanced Disk Drive calls determine boot disk" - depends on !IA64 help Say Y or M here if you want to enable BIOS Enhanced Disk Drive Services real mode BIOS calls to determine which disk diff -urpN linux-2.6/drivers/ide/Kconfig linux-2.6-patched/drivers/ide/Kconfig --- linux-2.6/drivers/ide/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/ide/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -541,7 +541,7 @@ config BLK_DEV_CS5530 config BLK_DEV_CS5535 tristate "AMD CS5535 chipset support" - depends on X86 && !X86_64 + depends on X86 help Include support for UDMA on the NSC/AMD CS5535 companion chipset. This will automatically be detected and configured if found. diff -urpN linux-2.6/drivers/input/misc/Kconfig linux-2.6-patched/drivers/input/misc/Kconfig --- linux-2.6/drivers/input/misc/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/input/misc/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -42,7 +42,7 @@ config INPUT_M68K_BEEP config INPUT_WISTRON_BTNS tristate "x86 Wistron laptop button interface" - depends on X86 && !X86_64 + depends on X86 help Say Y here for support of Winstron laptop button interface, used on laptops of various brands, including Acer and Fujitsu-Siemens. diff -urpN linux-2.6/drivers/input/serio/Kconfig linux-2.6-patched/drivers/input/serio/Kconfig --- linux-2.6/drivers/input/serio/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/input/serio/Kconfig 2006-07-07 17:59:52.000000000 +0200 @@ -21,7 +21,6 @@ if SERIO config SERIO_I8042 tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 default y - depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K ---help--- i8042 is the chip over which the standard AT keyboard and PS/2 mouse are connected to the computer. If you use these devices, diff -urpN linux-2.6/drivers/isdn/hisax/Kconfig linux-2.6-patched/drivers/isdn/hisax/Kconfig --- linux-2.6/drivers/isdn/hisax/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/isdn/hisax/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -110,7 +110,7 @@ config HISAX_16_3 config HISAX_TELESPCI bool "Teles PCI" - depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || FRV)) + depends on PCI help This enables HiSax support for the Teles PCI. See <file:Documentation/isdn/README.HiSax> on how to configure it. @@ -134,7 +134,6 @@ config HISAX_AVM_A1 config HISAX_FRITZPCI bool "AVM PnP/PCI (Fritz!PnP/PCI)" - depends on BROKEN || !PPC64 help This enables HiSax support for the AVM "Fritz!PnP" and "Fritz!PCI". See <file:Documentation/isdn/README.HiSax> on how to configure it. @@ -238,7 +237,7 @@ config HISAX_MIC config HISAX_NETJET bool "NETjet card" - depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || FRV)) + depends on PCI help This enables HiSax support for the NetJet from Traverse Technologies. @@ -249,7 +248,7 @@ config HISAX_NETJET config HISAX_NETJET_U bool "NETspider U card" - depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || FRV)) + depends on PCI help This enables HiSax support for the Netspider U interface ISDN card from Traverse Technologies. @@ -317,7 +316,7 @@ config HISAX_GAZEL config HISAX_HFC_PCI bool "HFC PCI-Bus cards" - depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || FRV)) + depends on PCI help This enables HiSax support for the HFC-S PCI 2BDS0 based cards. @@ -344,7 +343,7 @@ config HISAX_HFC_SX config HISAX_ENTERNOW_PCI bool "Formula-n enter:now PCI card" - depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || FRV)) + depends on PCI help This enables HiSax support for the Formula-n enter:now PCI ISDN card. diff -urpN linux-2.6/drivers/media/video/Kconfig linux-2.6-patched/drivers/media/video/Kconfig --- linux-2.6/drivers/media/video/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/media/video/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -18,7 +18,7 @@ config VIDEO_ADV_DEBUG config VIDEO_VIVI tristate "Virtual Video Driver" - depends on VIDEO_V4L2 && !SPARC32 && !SPARC64 + depends on VIDEO_V4L2 select VIDEO_BUF default n ---help--- @@ -170,7 +170,7 @@ config VIDEO_VINO config VIDEO_STRADIS tristate "Stradis 4:2:2 MPEG-2 video driver (EXPERIMENTAL)" - depends on EXPERIMENTAL && PCI && VIDEO_V4L1 && !PPC64 + depends on EXPERIMENTAL && PCI && VIDEO_V4L1 help Say Y here to enable support for the Stradis 4:2:2 MPEG-2 video driver for PCI. There is a product page at @@ -178,7 +178,7 @@ config VIDEO_STRADIS config VIDEO_ZORAN tristate "Zoran ZR36057/36067 Video For Linux" - depends on PCI && I2C_ALGOBIT && VIDEO_V4L1 && !PPC64 + depends on PCI && I2C_ALGOBIT && VIDEO_V4L1 help Say Y for support for MJPEG capture cards based on the Zoran 36057/36067 PCI controller chipset. This includes the Iomega diff -urpN linux-2.6/drivers/parport/Kconfig linux-2.6-patched/drivers/parport/Kconfig --- linux-2.6/drivers/parport/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/parport/Kconfig 2006-07-07 18:00:50.000000000 +0200 @@ -34,7 +34,6 @@ config PARPORT config PARPORT_PC tristate "PC-style hardware" - depends on PARPORT && (!SPARC64 || PCI) && !SPARC32 && !M32R && !FRV ---help--- You should say Y here if you have a PC-style parallel port. All IBM PC compatible computers and some Alphas have PC-style diff -urpN linux-2.6/drivers/serial/Kconfig linux-2.6-patched/drivers/serial/Kconfig --- linux-2.6/drivers/serial/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/serial/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -140,7 +140,7 @@ config SERIAL_8250_EXTENDED config SERIAL_8250_MANY_PORTS bool "Support more than 4 legacy serial ports" - depends on SERIAL_8250_EXTENDED && !IA64 + depends on SERIAL_8250_EXTENDED help Say Y here if you have dumb serial boards other than the four standard COM 1/2/3/4 ports. This may happen if you have an AST diff -urpN linux-2.6/drivers/video/console/Kconfig linux-2.6-patched/drivers/video/console/Kconfig --- linux-2.6/drivers/video/console/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/video/console/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -6,7 +6,7 @@ menu "Console display driver support" config VGA_CONSOLE bool "VGA text console" if EMBEDDED || !X86 - depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !ARCH_VERSATILE + depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !ARCH_VERSATILE default y help Saying Y here will allow you to use Linux in text mode through a @@ -67,7 +67,7 @@ config VIDEO_SELECT about the Video mode selection support. If unsure, say N. config MDA_CONSOLE - depends on !M68K && !PARISC && ISA + depends on ISA tristate "MDA text console (dual-headed) (EXPERIMENTAL)" ---help--- Say Y here if you have an old MDA or monochrome Hercules graphics @@ -215,7 +215,7 @@ config FONT_ACORN_8x8 config FONT_MINI_4x6 bool "Mini 4x6 font" - depends on !SPARC && FONTS + depends on FONTS config FONT_SUN8x16 bool "Sparc console 8x16 font" diff -urpN linux-2.6/drivers/video/Kconfig linux-2.6-patched/drivers/video/Kconfig --- linux-2.6/drivers/video/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/drivers/video/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -1069,7 +1069,7 @@ config FB_ATY128_BACKLIGHT config FB_ATY tristate "ATI Mach64 display support" if PCI || ATARI - depends on FB && !SPARC32 + depends on FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT diff -urpN linux-2.6/sound/pci/Kconfig linux-2.6-patched/sound/pci/Kconfig --- linux-2.6/sound/pci/Kconfig 2006-07-07 17:56:21.000000000 +0200 +++ linux-2.6-patched/sound/pci/Kconfig 2006-07-07 17:56:30.000000000 +0200 @@ -217,7 +217,7 @@ config SND_CS46XX_NEW_DSP config SND_CS5535AUDIO tristate "CS5535/CS5536 Audio" - depends on SND && X86 && !X86_64 + depends on SND && X86 select SND_PCM select SND_AC97_CODEC help ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [Kconfig] use disable command (was Re: [patch] s390 kconfig cleanup, 2nd version). 2006-07-07 16:19 ` [Kconfig] use " Martin Schwidefsky @ 2006-07-07 19:48 ` Matthew Wilcox 2006-07-08 23:42 ` Ralf Baechle 0 siblings, 1 reply; 30+ messages in thread From: Matthew Wilcox @ 2006-07-07 19:48 UTC (permalink / raw) To: Martin Schwidefsky Cc: Andrew Morton, linux-arch, ak, geert, Keir.Fraser, chrisw, zippel On Fri, Jul 07, 2006 at 06:19:09PM +0200, Martin Schwidefsky wrote: > > > + depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM && !S390 > > > > Imagine not having crud like this in there. > > And this patch uses the disable option to simplify a few config options, > e.g. the above depends line. Yes, but that's one which simply needs its conditions inverted. eg: @@ -713,7 +713,7 @@ config NVRAM config RTC tristate "Enhanced Real Time Clock Support" - depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM + depends on ALPHA || CRIS || H8300 || X86 || M32R || MIPS || SUPERH || (SPARC && PCI) || V850 (I suspect CRIS, H8300, V850 and M32R should not be in this list. Presumably the maintainers are on this list; could they comment?) ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [Kconfig] use disable command (was Re: [patch] s390 kconfig cleanup, 2nd version). 2006-07-07 19:48 ` Matthew Wilcox @ 2006-07-08 23:42 ` Ralf Baechle 0 siblings, 0 replies; 30+ messages in thread From: Ralf Baechle @ 2006-07-08 23:42 UTC (permalink / raw) To: Matthew Wilcox Cc: Martin Schwidefsky, Andrew Morton, linux-arch, ak, geert, Keir.Fraser, chrisw, zippel On Fri, Jul 07, 2006 at 01:48:43PM -0600, Matthew Wilcox wrote: > config RTC > tristate "Enhanced Real Time Clock Support" > - depends on !PPC && !PARISC && !IA64 && !M68K && (!SPARC || PCI) && !FRV && !ARM > + depends on ALPHA || CRIS || H8300 || X86 || M32R || MIPS || SUPERH || (SPARC && PCI) || V850 > > (I suspect CRIS, H8300, V850 and M32R should not be in this list. > Presumably the maintainers are on this list; could they comment?) Making this depend on the CPU is grosly simplifying things - and wrong. On MIPS the MC146818 is used in several systems but not all and chances are the driver will crash the system if selected on some of the systems. So in the end I would suggeste something like in drivers/char/Kconfig: config RTC tristate "Enhanced Real Time Clock Support" depends on SYS_HAS_MC146818 config SYS_HAS_MC146818 bool and somewhere from arch/*/Kconfig SYS_HAS_MC146818 will have to be selected. The other rant of course is that the symbol CONFIG_RTC looks like it is generic RTC support while it really only is for MC146818 and lookalikes. So it should be renamed to something like CONFIG_MC146818. Ralf ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2006-07-08 23:42 UTC | newest] Thread overview: 30+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-06-30 12:26 [patch] s390 kconfig cleanup, 2nd version Martin Schwidefsky 2006-06-30 12:39 ` Geert Uytterhoeven 2006-06-30 12:54 ` Martin Schwidefsky 2006-06-30 12:44 ` Andi Kleen 2006-06-30 13:04 ` Martin Schwidefsky 2006-06-30 13:09 ` Andi Kleen 2006-06-30 13:20 ` Geert Uytterhoeven 2006-06-30 13:28 ` Martin Schwidefsky 2006-06-30 14:05 ` Andi Kleen 2006-06-30 14:15 ` Geert Uytterhoeven 2006-06-30 14:20 ` Martin Schwidefsky 2006-07-03 23:15 ` Arnd Bergmann 2006-07-03 23:35 ` Matthew Wilcox 2006-07-04 12:42 ` Arnd Bergmann 2006-07-04 13:08 ` Geert Uytterhoeven 2006-07-04 15:23 ` Arnd Bergmann 2006-07-04 18:09 ` Matthew Wilcox 2006-07-01 2:38 ` Paul Mackerras 2006-06-30 14:13 ` Kyle McMartin 2006-06-30 14:20 ` Andi Kleen 2006-06-30 17:41 ` Andrew Morton 2006-06-30 18:28 ` Andi Kleen 2006-07-03 9:10 ` Martin Schwidefsky 2006-07-03 9:20 ` Andrew Morton 2006-07-03 10:35 ` Martin Schwidefsky 2006-07-07 16:19 ` [Kconfig] add disable command (was Re: [patch] s390 kconfig cleanup, 2nd version) Martin Schwidefsky 2006-07-07 19:27 ` Andrew Morton 2006-07-07 16:19 ` [Kconfig] use " Martin Schwidefsky 2006-07-07 19:48 ` Matthew Wilcox 2006-07-08 23:42 ` Ralf Baechle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox