Message ID | 1242821902-16836-1-git-send-email-a.beregalov@gmail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, 20 May 2009, Alexander Beregalov wrote: > Fix this build error: > drivers/built-in.o: In function `phy_state_machine': > drivers/net/phy/phy.c:893: undefined reference to 'netif_carrier_off' > drivers/net/phy/phy.c:854: undefined reference to 'netif_carrier_on' > > Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> > --- > arch/powerpc/platforms/82xx/Kconfig | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/arch/powerpc/platforms/82xx/Kconfig b/arch/powerpc/platforms/82xx/Kconfig > index 7c7df40..36a3e58 100644 > --- a/arch/powerpc/platforms/82xx/Kconfig > +++ b/arch/powerpc/platforms/82xx/Kconfig > @@ -31,6 +31,9 @@ config EP8248E > select 8260 > select FSL_SOC > select PHYLIB > + select NET > + select NETDEVICE > + select NET_SCHED > select MDIO_BITBANG > help > This enables support for the Embedded Planet EP8248E board. Why is there a `select PHYLIB' at the platform level? Shouldn't it be in drivers/net/Kconfig, near the appropriate network driver? That way people can build kernels without networking support, if they want. With kind regards, Geert Uytterhoeven Software Architect Techsoft Centre Technology and Software Centre Europe The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium Phone: +32 (0)2 700 8453 Fax: +32 (0)2 700 8622 E-mail: Geert.Uytterhoeven@sonycom.com Internet: http://www.sony-europe.com/ A division of Sony Europe (Belgium) N.V. VAT BE 0413.825.160 · RPR Brussels Fortis · BIC GEBABEBB · IBAN BE41293037680010 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On May 20, 2009, at 7:27 AM, Geert Uytterhoeven wrote: > On Wed, 20 May 2009, Alexander Beregalov wrote: >> Fix this build error: >> drivers/built-in.o: In function `phy_state_machine': >> drivers/net/phy/phy.c:893: undefined reference to 'netif_carrier_off' >> drivers/net/phy/phy.c:854: undefined reference to 'netif_carrier_on' >> >> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> >> --- >> arch/powerpc/platforms/82xx/Kconfig | 3 +++ >> 1 files changed, 3 insertions(+), 0 deletions(-) >> >> diff --git a/arch/powerpc/platforms/82xx/Kconfig b/arch/powerpc/ >> platforms/82xx/Kconfig >> index 7c7df40..36a3e58 100644 >> --- a/arch/powerpc/platforms/82xx/Kconfig >> +++ b/arch/powerpc/platforms/82xx/Kconfig >> @@ -31,6 +31,9 @@ config EP8248E >> select 8260 >> select FSL_SOC >> select PHYLIB >> + select NET >> + select NETDEVICE >> + select NET_SCHED >> select MDIO_BITBANG >> help >> This enables support for the Embedded Planet EP8248E board. > > Why is there a `select PHYLIB' at the platform level? Shouldn't it > be in > drivers/net/Kconfig, near the appropriate network driver? That way > people can > build kernels without networking support, if they want. I agree w/you however the initial reason it was: commit ff21f23648d33649fcf3e1e99d03e245f0e1acf8 Author: Kumar Gala <galak@kernel.crashing.org> Date: Wed Jul 16 17:47:54 2008 -0500 powerpc/ep8248e: Unconditionally select PHYLIB for mdio_bitbang Its possible to build the phylib as a module, however this breaks the board code because alloc_mdio_bitbang and mdiobus_register are not available if we build as a module. These are needed by the board code since it implements the low level mdio bitbang ops. So we unconditionally select PHYLIB to ensure its built into the kernel if we are building in EP8248E support. Long term we should look at moving the mdio_ops into its own file so it can be built as a module. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> so maybe it should: select PHYLIB if NET - k -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Alexander Beregalov <a.beregalov@gmail.com> Date: Wed, 20 May 2009 16:18:22 +0400 > Fix this build error: > drivers/built-in.o: In function `phy_state_machine': > drivers/net/phy/phy.c:893: undefined reference to 'netif_carrier_off' > drivers/net/phy/phy.c:854: undefined reference to 'netif_carrier_on' > > Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> This isn't right. Otherwise no networking driver would build with NET_SCHED disabled. net/sched/sch_generic.c is always built when NET is enabled and that's where netif_carrier_off() is defined. As you can see in net/sched/Makefile, sch_generic.o is "obj-y", did you even check? :-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/powerpc/platforms/82xx/Kconfig b/arch/powerpc/platforms/82xx/Kconfig index 7c7df40..36a3e58 100644 --- a/arch/powerpc/platforms/82xx/Kconfig +++ b/arch/powerpc/platforms/82xx/Kconfig @@ -31,6 +31,9 @@ config EP8248E select 8260 select FSL_SOC select PHYLIB + select NET + select NETDEVICE + select NET_SCHED select MDIO_BITBANG help This enables support for the Embedded Planet EP8248E board.
Fix this build error: drivers/built-in.o: In function `phy_state_machine': drivers/net/phy/phy.c:893: undefined reference to 'netif_carrier_off' drivers/net/phy/phy.c:854: undefined reference to 'netif_carrier_on' Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> --- arch/powerpc/platforms/82xx/Kconfig | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)