diff --git a/board/freescale/m5329evb/mii.c b/board/freescale/m5329evb/mii.c
index 691b14459b703aac560bfc9e095eb994fc9a944e..68dc04fd9a94ac69c75e352f0568dc5adbb50ba6 100644
--- a/board/freescale/m5329evb/mii.c
+++ b/board/freescale/m5329evb/mii.c
@@ -203,7 +203,9 @@ int mii_discover_phy(struct eth_device *dev)
 }
 #endif				/* CFG_DISCOVER_PHY */
 
-void mii_init(void)
+int mii_init(void) __attribute__((weak,alias("__mii_init")));
+
+void __mii_init(void)
 {
 	volatile fec_t *fecp;
 	struct fec_info_s *info;
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index 11f67218972dc3d3b075b6159765a822f32adf0a..fde1aaecb621125d26379b152f75123a2f9db3cf 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -101,7 +101,7 @@ void fec_reset(struct eth_device *dev);
 extern int fecpin_setclear(struct eth_device *dev, int setclear);
 
 #ifdef CFG_DISCOVER_PHY
-extern void mii_init(void);
+extern void __mii_init(void);
 extern uint mii_send(uint mii_cmd);
 extern int mii_discover_phy(struct eth_device *dev);
 extern int mcffec_miiphy_read(char *devname, unsigned char addr,
diff --git a/include/common.h b/include/common.h
index 23f93907ee41f94b2be84d456fc2d150f007803b..a1a329071a394ce7a81b01f63ec9d555a2afed23 100644
--- a/include/common.h
+++ b/include/common.h
@@ -539,7 +539,7 @@ ulong	bootcount_load (void);
 #define BOOTCOUNT_MAGIC		0xB001C041
 
 /* $(CPU)/.../<eth> */
-void mii_init (void);
+/*void mii_init (void);*/
 
 /* $(CPU)/.../lcd.c */
 ulong	lcd_setmem (ulong);