Re: Build failure after "phylib: remove !S390 dependeny from Kconfig"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux