Fix miiphy global data initialization (problem on 4xx boards when no
ethaddr is assigned). Initialization moved from miiphy_register() to
eth_initialize().

Based on initial patch for 4xx platform by Matthias Fuchs.
diff --git a/common/miiphyutil.c b/common/miiphyutil.c
index d67c8b5..e411e57 100644
--- a/common/miiphyutil.c
+++ b/common/miiphyutil.c
@@ -60,6 +60,16 @@
 
 /*****************************************************************************
  *
+ * Initialize global data. Need to be called before any other miiphy routine.
+ */
+void miiphy_init()
+{
+		INIT_LIST_HEAD(&mii_devs);
+		current_mii = NULL;
+}
+
+/*****************************************************************************
+ *
  * Register read and write MII access routines for the device <name>.
  */
 void miiphy_register(char *name,
@@ -71,15 +81,8 @@
 	struct list_head *entry;
 	struct mii_dev *new_dev;
 	struct mii_dev *miidev;
-	static int head_initialized = 0;
 	unsigned int name_len;
 
-	if (head_initialized == 0) {
-		INIT_LIST_HEAD(&mii_devs);
-		current_mii = NULL;
-		head_initialized = 1;
-	}
-
 	/* check if we have unique name */
 	list_for_each(entry, &mii_devs) {
 		miidev = list_entry(entry, struct mii_dev, link);