cmc_pu2: get mac address from environment

The environment is the canonical storage location of the mac address, so
we're killing off the global data location and moving everything to
querying the env directly.

Also rename load_sernum_ethaddr() to misc_init_r() so we don't need to
handle this board specially in common ARM code.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Ben Warren <biggerbadderben@gmail.com>
diff --git a/board/cmc_pu2/load_sernum_ethaddr.c b/board/cmc_pu2/load_sernum_ethaddr.c
index 354566c..5ef9f20 100644
--- a/board/cmc_pu2/load_sernum_ethaddr.c
+++ b/board/cmc_pu2/load_sernum_ethaddr.c
@@ -66,14 +66,13 @@
  * Internal structure: see struct definition
  */
 
-void load_sernum_ethaddr (void)
+void misc_init_r(void)
 {
 	struct manufacturer_data data;
-	char  ethaddr[18];
 	char  serial [9];
 	unsigned short chksum;
 	unsigned char *p;
-	unsigned short i, is, id;
+	unsigned short i;
 
 #if !defined(CONFIG_HARD_I2C) && !defined(CONFIG_SOFT_I2C)
 #error you must define some I2C support (CONFIG_HARD_I2C or CONFIG_SOFT_I2C)
@@ -97,17 +96,6 @@
 		return;
 	}
 
-	/* copy MAC address */
-	is = 0;
-	id = 0;
-	for (i = 0; i < 6; i++) {
-		sprintf (&ethaddr[id], "%02x", data.macadr[is++]);
-		id += 2;
-		if (is < 6)
-			ethaddr[id++] = ':';
-	}
-	ethaddr[id] = '\0';	/* just to be sure */
-
 	/* copy serial number */
 	sprintf (serial, "%d", data.serial_number);
 
@@ -117,6 +105,6 @@
 	}
 
 	if (getenv("ethaddr") == NULL) {
-		setenv ("ethaddr", ethaddr);
+		eth_setenv_enetaddr("ethaddr", data.macadr);
 	}
 }