]> err.no Git - linux-2.6/blobdiff - arch/ppc/kernel/setup.c
Merge /spare/repo/linux-2.6/
[linux-2.6] / arch / ppc / kernel / setup.c
index e97ce635b99e6d84640457c775c77d7eb49f4efb..5c20266e3b1fd80c45f88af83d0a3b3b475d5bd4 100644 (file)
@@ -221,27 +221,26 @@ int show_cpuinfo(struct seq_file *m, void *v)
                        return err;
        }
 
-       switch (PVR_VER(pvr)) {
-       case 0x0020:    /* 403 family */
-               maj = PVR_MAJ(pvr) + 1;
-               min = PVR_MIN(pvr);
-               break;
-       case 0x1008:    /* 740P/750P ?? */
-               maj = ((pvr >> 8) & 0xFF) - 1;
-               min = pvr & 0xFF;
-               break;
-       case 0x8083:    /* e300 */
-               maj = PVR_MAJ(pvr);
-               min = PVR_MIN(pvr);
-               break;
-       case 0x8020:    /* e500 */
+       /* If we are a Freescale core do a simple check so
+        * we dont have to keep adding cases in the future */
+       if ((PVR_VER(pvr) & 0x8000) == 0x8000) {
                maj = PVR_MAJ(pvr);
                min = PVR_MIN(pvr);
-               break;
-       default:
-               maj = (pvr >> 8) & 0xFF;
-               min = pvr & 0xFF;
-               break;
+       } else {
+               switch (PVR_VER(pvr)) {
+                       case 0x0020:    /* 403 family */
+                               maj = PVR_MAJ(pvr) + 1;
+                               min = PVR_MIN(pvr);
+                               break;
+                       case 0x1008:    /* 740P/750P ?? */
+                               maj = ((pvr >> 8) & 0xFF) - 1;
+                               min = pvr & 0xFF;
+                               break;
+                       default:
+                               maj = (pvr >> 8) & 0xFF;
+                               min = pvr & 0xFF;
+                               break;
+               }
        }
 
        seq_printf(m, "revision\t: %hd.%hd (pvr %04x %04x)\n",
@@ -500,7 +499,7 @@ static int __init set_preferred_console(void)
 {
        struct device_node *prom_stdout;
        char *name;
-       int offset;
+       int offset = 0;
 
        if (of_stdout_device == NULL)
                return -ENODEV;
@@ -754,6 +753,8 @@ void __init setup_arch(char **cmdline_p)
        strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE);
        *cmdline_p = cmd_line;
 
+       parse_early_param();
+
        /* set up the bootmem stuff with available memory */
        do_init_bootmem();
        if ( ppc_md.progress ) ppc_md.progress("setup_arch: bootmem", 0x3eab);