powerpc: Fix fs_enet module build
Subsystems (2)
PATCH 1/1 powerpc: Fix fs_enet module build
If fs_enet is build as module, on PPC_CPM_NEW_BINDING platforms mii-fec/mii-bitbang should be build as module, as well. On other platforms, mii-fec/mii-bitbang must be included into the main module. Otherwise some symbols remain undefined. Additionally, fs_enet uses libphy, so add a select PHYLIB.
Building modules, stage 2.
MODPOST 5 modules
ERROR: "fs_scc_ops" [drivers/net/fs_enet/fs_enet.ko] undefined! make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
---
This patch replaces powerpc-fs_enet-select-phylib-as-the-driver-needs-it.patch from -mm.
drivers/net/fs_enet/Kconfig | 11 ++++++++++- drivers/net/fs_enet/Makefile | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-)
drivers/net/fs_enet/Kconfig +10 -1
@@ -2,6 +2,7 @@ config FS_ENET tristate "Freescale Ethernet Driver" depends on CPM1 || CPM2 select MII + select PHYLIB config FS_ENET_HAS_SCC bool "Chip has an SCC usable for ethernet"
@@ -11,11 +12,19 @@ config FS_ENET_HAS_SCC config FS_ENET_HAS_FCC bool "Chip has an FCC usable for ethernet" depends on FS_ENET && CPM2 - select MDIO_BITBANG default y config FS_ENET_HAS_FEC bool "Chip has an FEC usable for ethernet" depends on FS_ENET && CPM1 + select FS_ENET_MDIO_FEC default y +config FS_ENET_MDIO_FEC + tristate "MDIO driver for FEC" + depends on FS_ENET && CPM1 + +config FS_ENET_MDIO_FCC + tristate "MDIO driver for FCC" + depends on FS_ENET && CPM2 + select MDIO_BITBANG
drivers/net/fs_enet/Makefile +12 -3
@@ -4,7 +4,16 @@ obj-$(CONFIG_FS_ENET) += fs_enet.o -obj-$(CONFIG_8xx) += mac-fec.o mac-scc.o mii-fec.o -obj-$(CONFIG_CPM2) += mac-fcc.o mii-bitbang.o +fs_enet-$(CONFIG_FS_ENET_HAS_SCC) += mac-scc.o +fs_enet-$(CONFIG_FS_ENET_HAS_FEC) += mac-fec.o +fs_enet-$(CONFIG_FS_ENET_HAS_FCC) += mac-fcc.o -fs_enet-objs := fs_enet-main.o +ifeq ($(CONFIG_PPC_CPM_NEW_BINDING),y) +obj-$(CONFIG_FS_ENET_MDIO_FEC) += mii-fec.o +obj-$(CONFIG_FS_ENET_MDIO_FCC) += mii-bitbang.o +else +fs_enet-$(CONFIG_FS_ENET_MDIO_FEC) += mii-fec.o +fs_enet-$(CONFIG_FS_ENET_MDIO_FCC) += mii-bitbang.o +endif + +fs_enet-objs := fs_enet-main.o $(fs_enet-m)
Signature · 1 line
1.5.3.5
David Miller
maintainerFrom: Jochen Friedrich <[email protected]>
Date: Tue, 13 Nov 2007 19:32:08 +0100
Quoted 6 lines
If
fs_enetis build as module, onPPC_CPM_NEW_BINDINGplatforms mii-fec/mii-bitbang should be build as module, as well. On other platforms, mii-fec/mii-bitbang must be included into the main module. Otherwise some symbols remain undefined. Additionally,fs_enetuses libphy, so add a select PHYLIB.
Quoted 7 lines
Building modules, stage 2.
MODPOST 5 modules
ERROR: "fs_scc_ops" [drivers/net/fs_enet/fs_enet.ko] undefined! make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2Signed-off-by Jochen Friedrich <[email protected]>
This is truly ugly and creates an unnecessarily hard to maintain and complex driver.
Please find a way to fix this for real, so that the PPC_CPM_NEW_BINDING ifdef is not necessary at all and things get built modular or not naturally as we handle things for other cases like this.
THanks.
Hi David,
Quoted 7 lines
This is truly ugly and creates an unnecessarily hard to maintain and complex driver.
Please find a way to fix this for real, so that the
PPC_CPM_NEW_BINDINGifdef is not necessary at all and things get built modular or not naturally as we handle things for other cases like this.
I know it's ugly, however, module building is completely broken right now and I just want to provide a quick and ugly fix until both that ppc->powerpc transition and the new binding transition are over. Noone wants to touch the old stuff any more as it's a pita and it's already scheduled for removal in a couple of months.
Thanks,
Jochen
David Miller
maintainerFrom: Jochen Friedrich <[email protected]>
Date: Wed, 14 Nov 2007 12:59:33 +0100
Quoted 6 lines
I know it's ugly, however, module building is completely broken right now and I just want to provide a quick and ugly fix until both that
ppc->powerpctransition and the new binding transition are over. Noone wants to touch the old stuff any more as it's a pita and it's already scheduled for removal in a couple of months.
Fair enough, I'll apply the patch.
Thanks for the explanation.