On Sun, May 05, 2013 at 01:11:17PM +0200, Jean Delvare wrote: > Hi Heiko, > > In kernel 3.9 went this commit of yours: > > commit 870a2b5e4fcde08c91c102712ea07d3cbc96f19a > Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Date: Wed Feb 6 10:09:31 2013 +0100 > > phylib: remove !S390 dependeny from Kconfig > > Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > > Now we get the following build failure on all s390/s390x kernels: > > ERROR: "enable_irq" [drivers/net/phy/libphy.ko] undefined! > ERROR: "free_irq" [drivers/net/phy/libphy.ko] undefined! > > I do not understand why the dependency was dropped if the code calls > functions which do not exist on S390. Can you explain? What is the > proper way to fix this? Hi Jean, the correct fix would be to add a "depends on GENERIC_HARDIRQS" to the offending driver. However I do not see the link error here. What kernel is that? An allmodconfig just compiles fine.. well sort of. If one would add the usual missing GENERIC_HARDIRQS dependencies (see patch below). I removed the above dependency because s390 recently got PCI support, which in turn means that there were tons of Kconfig menus that suddenly got visible on s390. A lot of those drivers selected other drivers and libraries. So the easiest way to fix things seemed to be to remove a lot of !S390 dependencies. It was and is a pain keeping s390's allmodconfig compile.. Mainly because it's the only architecture left with !GENERIC_HARDIRQS. So Linux 3.9 allmodconfig compiles on s390. Current master compiles with the patch below. (one of the staging drives fails with an odd linkage error, I haven't looked into that yet, just added !S390 for the time being). diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index adfee98..5ea427f 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -410,7 +410,7 @@ config I2C_DESIGNWARE_PLATFORM config I2C_DESIGNWARE_PCI tristate "Synopsys DesignWare PCI" - depends on PCI + depends on PCI && GENERIC_HARDIRQS select I2C_DESIGNWARE_CORE help If you say yes to this option, support will be included for the diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index f9a5fd8..8095896 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -856,7 +856,7 @@ config TOUCHSCREEN_PCAP config TOUCHSCREEN_ST1232 tristate "Sitronix ST1232 touchscreen controllers" - depends on I2C + depends on I2C && GENERIC_HARDIRQS help Say Y here if you want to support Sitronix ST1232 touchscreen controller. diff --git a/drivers/net/ethernet/marvell/Kconfig b/drivers/net/ethernet/marvell/Kconfig index a49e81b..c4e1efe 100644 --- a/drivers/net/ethernet/marvell/Kconfig +++ b/drivers/net/ethernet/marvell/Kconfig @@ -34,6 +34,7 @@ config MV643XX_ETH config MVMDIO tristate "Marvell MDIO interface support" select PHYLIB + depends on GENERIC_HARDIRQS ---help--- This driver supports the MDIO interface found in the network interface units of the Marvell EBU SoCs (Kirkwood, Orion5x, diff --git a/drivers/net/ethernet/sfc/Kconfig b/drivers/net/ethernet/sfc/Kconfig index 4136ccc..14badd1 100644 --- a/drivers/net/ethernet/sfc/Kconfig +++ b/drivers/net/ethernet/sfc/Kconfig @@ -1,6 +1,6 @@ config SFC tristate "Solarflare SFC4000/SFC9000-family support" - depends on PCI + depends on PCI && !S390 select MDIO select CRC32 select I2C diff --git a/drivers/staging/dwc2/Kconfig b/drivers/staging/dwc2/Kconfig index f0b4739..7d0bf46 100644 --- a/drivers/staging/dwc2/Kconfig +++ b/drivers/staging/dwc2/Kconfig @@ -2,6 +2,7 @@ config USB_DWC2 tristate "DesignWare USB2 DRD Core Support" depends on USB depends on VIRT_TO_BUS + depends on GENERIC_HARDIRQS select USB_OTG_UTILS help Say Y or M here if your system has a Dual Role HighSpeed diff --git a/drivers/staging/media/solo6x10/Kconfig b/drivers/staging/media/solo6x10/Kconfig index ec32776..38df7e2 100644 --- a/drivers/staging/media/solo6x10/Kconfig +++ b/drivers/staging/media/solo6x10/Kconfig @@ -1,6 +1,6 @@ config SOLO6X10 tristate "Softlogic 6x10 MPEG codec cards" - depends on PCI && VIDEO_DEV && SND && I2C + depends on PCI && VIDEO_DEV && SND && I2C && !S390 select VIDEOBUF2_DMA_SG select VIDEOBUF2_DMA_CONTIG select SND_PCM -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html