ar71xx: allow to use the command line hack on compex devices
authorGabor Juhos <juhosg@openwrt.org>
Wed, 4 Jan 2012 17:30:58 +0000 (17:30 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Wed, 4 Jan 2012 17:30:58 +0000 (17:30 +0000)
SVN-Revision: 29659

target/linux/ar71xx/files/arch/mips/ar71xx/prom.c

index 293f9b25eb4101c6a29e1095b1452fab2dd84ece..b9b1e64fdf63ca56888d3eda669b69267aa77e58 100644 (file)
@@ -69,35 +69,6 @@ static const char * __init ar71xx_prom_find_env(char **envp, const char *name)
        return ret;
 }
 
-static int __init ar71xx_prom_init_myloader(void)
-{
-       struct myloader_info *mylo;
-       char mac_buf[32];
-       char *mac;
-
-       mylo = myloader_get_info();
-       if (!mylo)
-               return 0;
-
-       switch (mylo->did) {
-       case DEVID_COMPEX_WP543:
-               ar71xx_prom_append_cmdline("board", "WP543");
-               break;
-       default:
-               printk(KERN_WARNING "prom: unknown device id: %x\n",
-                               mylo->did);
-               return 0;
-       }
-
-       mac = mylo->macs[0];
-       snprintf(mac_buf, sizeof(mac_buf), "%02x:%02x:%02x:%02x:%02x:%02x",
-                mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-
-       ar71xx_prom_append_cmdline("ethaddr", mac_buf);
-
-       return 1;
-}
-
 #ifdef CONFIG_IMAGE_CMDLINE_HACK
 extern char __image_cmdline[];
 
@@ -127,6 +98,37 @@ static int __init ar71xx_use__image_cmdline(void)
 static inline int ar71xx_use__image_cmdline(void) { return 0; }
 #endif
 
+static int __init ar71xx_prom_init_myloader(void)
+{
+       struct myloader_info *mylo;
+       char mac_buf[32];
+       unsigned char *mac;
+
+       mylo = myloader_get_info();
+       if (!mylo)
+               return 0;
+
+       switch (mylo->did) {
+       case DEVID_COMPEX_WP543:
+               ar71xx_prom_append_cmdline("board", "WP543");
+               break;
+       default:
+               printk(KERN_WARNING "prom: unknown device id: %x\n",
+                               mylo->did);
+               return 0;
+       }
+
+       mac = mylo->macs[0];
+       snprintf(mac_buf, sizeof(mac_buf), "%02x:%02x:%02x:%02x:%02x:%02x",
+                mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
+
+       ar71xx_prom_append_cmdline("ethaddr", mac_buf);
+
+       ar71xx_use__image_cmdline();
+
+       return 1;
+}
+
 static __init void ar71xx_prom_init_cmdline(int argc, char **argv)
 {
        int i;