Kconfig: unwanted menus for s390.
Subsystems (28)
PATCH 2/8 Kconfig: unwanted menus for s390.
From: Martin Schwidefsky <[email protected]>
Disable all menus in the configuration that are of no interest to a s390 machine. There are quite a few of them..
---
drivers/ata/Kconfig | 1 + drivers/char/ipmi/Kconfig | 2 ++ drivers/char/tpm/Kconfig | 1 + drivers/dma/Kconfig | 1 + drivers/edac/Kconfig | 1 + drivers/hwmon/Kconfig | 1 + drivers/i2c/Kconfig | 1 + drivers/ide/Kconfig | 1 + drivers/infiniband/Kconfig | 1 + drivers/input/Kconfig | 1 + drivers/isdn/Kconfig | 1 + drivers/leds/Kconfig | 1 + drivers/media/Kconfig | 1 + drivers/mfd/Kconfig | 1 + drivers/misc/Kconfig | 1 + drivers/mmc/Kconfig | 1 + drivers/mtd/Kconfig | 1 + drivers/net/phy/Kconfig | 1 + drivers/parport/Kconfig | 1 + drivers/pnp/Kconfig | 1 + drivers/rtc/Kconfig | 1 + drivers/serial/Kconfig | 1 + drivers/spi/Kconfig | 1 + drivers/telephony/Kconfig | 1 + drivers/usb/Kconfig | 1 + drivers/video/Kconfig | 1 + drivers/w1/Kconfig | 1 + net/ax25/Kconfig | 2 +- net/bluetooth/Kconfig | 2 +- net/irda/Kconfig | 2 +- sound/Kconfig | 1 + 31 files changed, 32 insertions(+), 3 deletions(-)
drivers/ata/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Serial ATA (prod) and Parallel ATA (experimental) drivers" + depends on !S390 config ATA tristate "ATA device support"
drivers/char/ipmi/Kconfig +2 -0
@@ -3,6 +3,8 @@ # menu "IPMI" + depends on !S390 + config IPMI_HANDLER tristate 'IPMI top-level message handler' help
drivers/char/tpm/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "TPM devices" + depends on !S390 config TCG_TPM tristate "TPM Hardware Support"
drivers/dma/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "DMA Engine support" + depends on !S390 config DMA_ENGINE bool "Support for DMA engines"
drivers/edac/Kconfig +1 -0
@@ -7,6 +7,7 @@ # menu 'EDAC - error detection and reporting (RAS) (EXPERIMENTAL)' + depends on !S390 config EDAC tristate "EDAC core system error reporting (EXPERIMENTAL)"
drivers/hwmon/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Hardware Monitoring support" + depends on !S390 config HWMON tristate "Hardware Monitoring support"
drivers/i2c/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "I2C support" + depends on !S390 config I2C tristate "I2C support"
drivers/ide/Kconfig +1 -0
@@ -7,6 +7,7 @@ if BLOCK menu "ATA/ATAPI/MFM/RLL support" + depends on !S390 config IDE tristate "ATA/ATAPI/MFM/RLL support"
drivers/infiniband/Kconfig +1 -0
@@ -1,4 +1,5 @@ menu "InfiniBand support" + depends on !S390 config INFINIBAND depends on PCI || BROKEN
drivers/input/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Input device support" + depends on !S390 config INPUT tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED
drivers/isdn/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "ISDN subsystem" + depends on !S390 config ISDN tristate "ISDN support"
drivers/leds/Kconfig +1 -0
@@ -1,5 +1,6 @@ menu "LED devices" + depends on !S390 config NEW_LEDS bool "LED Support"
drivers/media/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Multimedia devices" + depends on !S390 config VIDEO_DEV tristate "Video For Linux"
drivers/mfd/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Multifunction device drivers" + depends on !S390 config MFD_SM501 tristate "Support for Silicon Motion SM501"
drivers/misc/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Misc devices" + depends on !S390 config IBM_ASM tristate "Device driver for IBM RSA service processor"
drivers/mmc/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "MMC/SD Card support" + depends on !S390 config MMC tristate "MMC support"
drivers/mtd/Kconfig +1 -0
@@ -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"
drivers/net/phy/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "PHY device support" + depends on !S390 config PHYLIB tristate "PHY Device support and infrastructure"
drivers/parport/Kconfig +1 -0
@@ -6,6 +6,7 @@ # menu "Parallel port support" + depends on !S390 config PARPORT tristate "Parallel port support"
drivers/pnp/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Plug and Play support" + depends on !S390 config PNP bool "Plug and Play support"
drivers/rtc/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Real Time Clock" + depends on !S390 config RTC_LIB tristate
drivers/serial/Kconfig +1 -0
@@ -5,6 +5,7 @@ # menu "Serial drivers" + depends on !S390 # # The new 8250/16550 serial drivers
drivers/spi/Kconfig +1 -0
@@ -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"
drivers/telephony/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Telephony Support" + depends on !S390 config PHONE tristate "Linux telephony support"
drivers/usb/Kconfig +1 -0
@@ -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 ...
drivers/video/Kconfig +1 -0
@@ -3,6 +3,7 @@ # menu "Graphics support" + depends on !S390 source "drivers/video/backlight/Kconfig" source "drivers/video/display/Kconfig"
drivers/w1/Kconfig +1 -0
@@ -1,4 +1,5 @@ menu "Dallas's 1-wire bus" + depends on !S390 config W1 tristate "Dallas's 1-wire support"
net/ax25/Kconfig +1 -1
@@ -3,7 +3,7 @@ # 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
net/bluetooth/Kconfig +1 -1
@@ -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.
net/irda/Kconfig +1 -1
@@ -3,7 +3,7 @@ # menuconfig IRDA - depends on NET + depends on NET && !S390 tristate "IrDA (infrared) subsystem support" select CRC_CCITT ---help---
sound/Kconfig +1 -0
@@ -2,6 +2,7 @@ # menu "Sound" + depends on !S390 config SOUND tristate "Sound card support"
Arnd Bergmann
maintainerQuoted 5 lines · Martin Schwidefsky
diff -urpN linux-2.6/drivers/char/ipmi/Kconfig linux-2.6-patched/drivers/char/ipmi/Kconfig
drivers/char/ipmi/Kconfig 2007-04-19 15:49:55.000000000 +0200 renamed from drivers/char/ipmi/Kconfig 2007-02-04 19:44:54.000000000 +0100 +0
-0@@ -3,6 +3,8 @@ #
Quoted 7 lines
menu "IPMI"
+ depends on !S390
+
configIPMI_HANDLER
tristate 'IPMI top-level message handler'
help
I think I made this comment the last time we discussed this topic, but don't remember the exact outcome.
I would prefer to not have 'depends on !S390' but rather 'depends on MMIO', because that is what really drives stuff like IPMI: they expect the device to be reachable through the use of ioremap or inX/outX instructions, which don't exist on s390.
While it's unlikely that another architecture has the same restriction, it expresses much clearer what you mean.
In drivers/Kconfig, you can then simply add a
config MMIO
def_bool !S390
There are a few exceptions though, that I think should not depend on MMIO:
drivers/dma/Kconfig line 9
Quoted 10 lines
drivers/dma/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "DMA Engine support" + depends on !S390 config DMA_ENGINE bool "Support for DMA engines"
I'd leave the menu enabled. If the DMA engine infrastructure becomes more widely used, you may want to add an implementation for s390 using milicoded instructions like xor-string or copy-page.
drivers/input/Kconfig line 9
Quoted 11 lines
diff -urpN linux-2.6/drivers/input/Kconfig linux-2.6-patched/drivers/input/Kconfig
drivers/input/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "Input device support" + depends on !S390 config INPUT tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDED
Probably leave this as !S390. One could imagine channel-attached input devices or the idea of intepreting a terminal as an input device, but no driver currently does and probably never will.
drivers/isdn/Kconfig line 9
Quoted 11 lines
diff -urpN linux-2.6/drivers/isdn/Kconfig linux-2.6-patched/drivers/isdn/Kconfig
drivers/isdn/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "ISDN subsystem" + depends on !S390 config ISDN tristate "ISDN support"
Same here, actually there was an IBM 2216 ISDN adapter with channel attachment, but I don't think anybody wants to add a driver for that one.
drivers/misc/Kconfig line 9
Quoted 11 lines
diff -urpN linux-2.6/drivers/misc/Kconfig linux-2.6-patched/drivers/misc/Kconfig
drivers/misc/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "Misc devices" + depends on !S390 config IBM_ASM tristate "Device driver for IBM RSA service processor"
Maybe just leave the menu open, all drivers in it are already depending on PCI or similar and someone might add a driver that does work on s390 here.
drivers/net/phy/Kconfig line 9
Quoted 11 lines
diff -urpN linux-2.6/drivers/net/phy/Kconfig linux-2.6-patched/drivers/net/phy/Kconfig
drivers/net/phy/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "PHY device support" + depends on !S390 config PHYLIB tristate "PHY Device support and infrastructure"
Also depends on !S390, not MMIO. A future network adapter might give you access to the phy device through other means than MMIO.
drivers/rtc/Kconfig line 9
Quoted 11 lines
diff -urpN linux-2.6/drivers/rtc/Kconfig linux-2.6-patched/drivers/rtc/Kconfig
drivers/rtc/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "Real Time Clock" + depends on !S390 config RTC_LIB tristate
Applications might actually want to use the RTC interface to access the system time or get accurate timers, but the rtc drivers are all very dependant on either MMIO or I2C. Not sure what would be best here.
Arnd <><
Arnd Bergmann
maintainerQuoted 5 lines · Arnd Bergmann
I would prefer to not have 'depends on !S390' but rather 'depends on MMIO', because that is what really drives stuff like IPMI: they expect the device to be reachable through the use of ioremap or inX/outX instructions, which don't exist on s390.
Quoted 7 lines
While it's unlikely that another architecture has the same restriction, it expresses much clearer what you mean.
In
drivers/Kconfig, you can then simply add aconfig MMIO
def_bool !S390
I just saw that we already have an option like that, with a slightly different name.
arch/s390/Kconfig contains
config NO_IOMEM
def_bool y
and lib/Kconfig contains
config HAS_IOMEM
boolean
depends on !NO_IOMEM
default y
You should probably just use one of these two to disable any driver that uses ioremap or similar.
Arnd <><
Quoted 8 lines · Arnd Bergmann
I just saw that we already have an option like that, with a slightly different name.
arch/s390/Kconfigcontainsconfig
NO_IOMEM
def_booly
Quoted 6 lines
and lib/Kconfig contains
config
HAS_IOMEM
boolean
depends on !NO_IOMEM
default y
Now that is a good idea, I should be able to replace quite a few !S390 with HAS_IOMEM. It much better reflects WHY things don't work. Just !S390 is so negative ..
Signature · 8 lines
blue skies, IBM Deutschland Entwicklung GmbH
Martin Vorsitzender des Aufsichtsrats: Johann Weihen
Geschäftsführung: Herbert Kircher
Martin Schwidefsky Sitz der Gesellschaft: Böblingen
Linux on zSeries Registergericht: Amtsgericht Stuttgart,
Development HRB 243294
"Reality continues to ruin my life." - Calvin.Quoted 8 lines · Arnd Bergmann
Quoted 8 lines
drivers/dma/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "DMA Engine support" + depends on !S390
Quoted 6 lines
drivers/dma/Kconfig line 9
Quoted 2 lines
drivers/dma/Kconfig +0
-0config DMA_ENGINE bool "Support for DMA engines"I'd leave the menu enabled. If the DMA engine infrastructure becomes more widely used, you may want to add an implementation for s390 using milicoded instructions like xor-string or copy-page.
If we ever add an implementation for s390 we can rmeove the depends line again. The current situation is that we don't support it.
Quoted 9 lines
Quoted 9 lines
diff -urpN linux-2.6/drivers/input/Kconfig linux-2.6-patched/drivers/input/Kconfig
drivers/input/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "Input device support" + depends on !S390
Quoted 6 lines
drivers/input/Kconfig line 9
Quoted 2 lines
drivers/input/Kconfig +0
-0config INPUT tristate "Generic input layer (needed for keyboard, mouse, ...)" if EMBEDDEDProbably leave this as !S390. One could imagine channel-attached input devices or the idea of intepreting a terminal as an input device, but no driver currently does and probably never will.
We don't have support and it is VERY unlikely we will get it. I would prefer to hide the menu.
Quoted 6 lines
Quoted 6 lines
diff -urpN linux-2.6/drivers/isdn/Kconfig linux-2.6-patched/drivers/isdn/Kconfig
drivers/isdn/Kconfig +0
-0@@ -3,6 +3,7 @@ #
Quoted 8 lines
drivers/isdn/Kconfig line 9
Quoted 5 lines
drivers/isdn/Kconfig +1
-0menu "ISDN subsystem" + depends on !S390 config ISDN tristate "ISDN support"Same here, actually there was an IBM 2216 ISDN adapter with channel attachment, but I don't think anybody wants to add a driver for that one.
Without a driver is it mute to have the menu.
Quoted 6 lines
Quoted 6 lines
diff -urpN linux-2.6/drivers/misc/Kconfig linux-2.6-patched/drivers/misc/Kconfig
drivers/misc/Kconfig +0
-0@@ -3,6 +3,7 @@ #
Quoted 8 lines
drivers/misc/Kconfig line 9
Quoted 5 lines
drivers/misc/Kconfig +1
-0menu "Misc devices" + depends on !S390 config IBM_ASM tristate "Device driver for IBM RSA service processor"Maybe just leave the menu open, all drivers in it are already depending on PCI or similar and someone might add a driver that does work on s390 here.
This is a border-case. Someone might add a driver that actually works. Currently it is an empty menu.
Quoted 9 lines
Quoted 9 lines
diff -urpN linux-2.6/drivers/rtc/Kconfig linux-2.6-patched/drivers/rtc/Kconfig
drivers/rtc/Kconfig +1
-0@@ -3,6 +3,7 @@ # menu "Real Time Clock" + depends on !S390
Quoted 6 lines
drivers/rtc/Kconfig line 9
Quoted 2 lines
drivers/rtc/Kconfig +0
-0config RTC_LIB tristateApplications might actually want to use the RTC interface to access the system time or get accurate timers, but the rtc drivers are all very dependant on either MMIO or I2C. Not sure what would be best here.
If we ever come up with an implementation for RTC we can remove the depends statement again. Until we do it is another empty menu.
Thanks Arnd for the review.
Signature · 8 lines
blue skies, IBM Deutschland Entwicklung GmbH
Martin Vorsitzender des Aufsichtsrats: Johann Weihen
Geschäftsführung: Herbert Kircher
Martin Schwidefsky Sitz der Gesellschaft: Böblingen
Linux on zSeries Registergericht: Amtsgericht Stuttgart,
Development HRB 243294
"Reality continues to ruin my life." - Calvin.