* [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: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: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: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 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: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: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 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 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 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 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
* 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
* [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
* [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] 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
* 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