Am Monday 06 March 2006 23:07 schrieb Andrew Morton: > Jens Osterkamp <[EMAIL PROTECTED]> wrote: > > Which kernel version was this in ? 2.6.16-rc5 builds ok for me. > > > > drivers/net/spider_net.c:421: multiple definition of `mii_phy_probe' > > drivers/net/sungem_phy.o(.opd+0x160):drivers/net/sungem_phy.c:95: first > > defined here - > > It was 2.6.16-rc5-mm2, `make allyesconfig'. I don't see any patches > against those two files in rc5-mm2.
There seem to be two separate problems here: 1) There are two definitions of mii_phy_probe, in drivers/net/sungem_phy.c and in drivers/net/ibm_emac/ibm_emac_phy.c. These share some code, probably because one of them was derived from the other. This should probably be resolved by putting the global symbols from ibm_emac_phy.c into an appropriate namespace. 2) spidernet actually wants to use the sungem mii code and links against this one, not the ibm_emac version. The 'interesting' point about this situation is that sungem.ko wants a loadable sungem_phy.ko module, while spidernet.ko wants to include a copy of sungem_phy.o. This is just wrong and should be resolved by the untested patch below (Jens, please try if this works). Ben, does this make sense to you? Arnd <>< diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 00e72b1..b90468a 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -58,8 +58,8 @@ obj-$(CONFIG_STNIC) += stnic.o 8390.o obj-$(CONFIG_FEALNX) += fealnx.o obj-$(CONFIG_TIGON3) += tg3.o obj-$(CONFIG_BNX2) += bnx2.o -spidernet-y += spider_net.o spider_net_ethtool.o sungem_phy.o -obj-$(CONFIG_SPIDER_NET) += spidernet.o +spidernet-y += spider_net.o spider_net_ethtool.o +obj-$(CONFIG_SPIDER_NET) += spidernet.o sungem_phy.o obj-$(CONFIG_TC35815) += tc35815.o obj-$(CONFIG_SKGE) += skge.o obj-$(CONFIG_SKY2) += sky2.o - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html