[PATCH 0/4] mv643xx_eth: use mvmdio MDIO bus driver
From: florian@openwrt.org (Florian Fainelli)
Date: 2013-03-15 13:06:48
Also in:
linux-devicetree, linuxppc-dev, lkml, netdev
Le 03/15/13 14:05, David Miller a ?crit :
From: Florian Fainelli <florian@openwrt.org> Date: Fri, 15 Mar 2013 13:53:10 +0100quoted
Le 03/15/13 13:55, David Miller a ?crit :quoted
From: David Miller <davem@davemloft.net> Date: Fri, 15 Mar 2013 08:53:21 -0400 (EDT)quoted
From: Florian Fainelli <florian@openwrt.org> Date: Thu, 14 Mar 2013 19:08:31 +0100quoted
This patch converts the mv643xx_eth driver to use the mvmdio MDIO bus driver instead of rolling its own implementation. As a result, all users of this mv643xx_eth driver are converted to register an "orion-mdio" platform_device. The mvmdio driver is also updated to support an interrupt line which reports SMI error/completion, and to allow traditionnal platform device registration instead of just device tree. David, I think it makes sense for you to merge all of this, since we do not want the architecture files to be desynchronized from the mv643xx_eth to avoid runtime breakage. The potential for merge conflicts should be very small.All applied to net-next, thanks.Actually, reverted. Please send me code which actually compiles: drivers/net/ethernet/marvell/mvmdio.c: In function ?orion_mdio_wait_ready?: drivers/net/ethernet/marvell/mvmdio.c:70:28: error: ?NO_IRQ? undeclared (first use in this function) drivers/net/ethernet/marvell/mvmdio.c:70:28: note: each undeclared identifier is reported only once for each function it appears in drivers/net/ethernet/marvell/mvmdio.c: In function ?orion_mdio_probe?: drivers/net/ethernet/marvell/mvmdio.c:242:24: error: ?NO_IRQ? undeclared (first use in this function) make[4]: *** [drivers/net/ethernet/marvell/mvmdio.o] Error 1 And don't use Kconfig dependencies to work around this, fix it properly.Is there any platform out there for which we do not have a NO_IRQ definition by now? If so, what is it?Obviously if x86_64 doesn't even build your changes, that is one such platform. Also, is grep not working on your computer?
I built tested on PowerPC and ARM which are the platforms actually *using* these drivers and forgot that you build for x86_64.
Platforms are absolutely no required to have this define, zero is the only valid "no IRQ" which is portable in any way. This is an old and tired topic, portable code does not use NO_IRQ, and that's simply the end of it.
I changed not to rely on NO_IRQ anymore. Thanks! -- Florian