Re: [PATCH 0/4] mv643xx_eth: use mvmdio MDIO bus driver

From: Florian Fainelli
Date: Fri Mar 15 2013 - 09:06:50 EST


Le 03/15/13 14:05, David Miller a Ãcrit :
From: Florian Fainelli <florian@xxxxxxxxxxx>
Date: Fri, 15 Mar 2013 13:53:10 +0100

Le 03/15/13 13:55, David Miller a Ãcrit :
From: David Miller <davem@xxxxxxxxxxxxx>
Date: Fri, 15 Mar 2013 08:53:21 -0400 (EDT)

From: Florian Fainelli <florian@xxxxxxxxxxx>
Date: Thu, 14 Mar 2013 19:08:31 +0100

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/