sh: Fixup cpu_data references for the non-boot CPUs.
[pandora-kernel.git] / include / asm-sh / bugs.h
index b4000c8..5a117ec 100644 (file)
 
 static void __init check_bugs(void)
 {
-       extern char *get_cpu_subtype(void);
        extern unsigned long loops_per_jiffy;
-       char *p= &system_utsname.machine[2]; /* "sh" */
+       char *p = &init_utsname()->machine[2]; /* "sh" */
 
-       cpu_data->loops_per_jiffy = loops_per_jiffy;
+       current_cpu_data.loops_per_jiffy = loops_per_jiffy;
 
-       switch (cpu_data->type) {
-       case CPU_SH7604:
+       switch (current_cpu_data.type) {
+       case CPU_SH7604 ... CPU_SH7619:
                *p++ = '2';
                break;
+       case CPU_SH7206:
+               *p++ = '2';
+               *p++ = 'a';
+               break;
        case CPU_SH7705 ... CPU_SH7300:
                *p++ = '3';
                break;
        case CPU_SH7750 ... CPU_SH4_501:
                *p++ = '4';
                break;
-       case CPU_SH7770 ... CPU_SH7781:
+       case CPU_SH7770 ... CPU_SH7785:
+               *p++ = '4';
+               *p++ = 'a';
+               break;
+       case CPU_SH73180 ... CPU_SH7722:
                *p++ = '4';
                *p++ = 'a';
+               *p++ = 'l';
+               *p++ = '-';
+               *p++ = 'd';
+               *p++ = 's';
+               *p++ = 'p';
                break;
        default:
                *p++ = '?';
@@ -42,7 +54,7 @@ static void __init check_bugs(void)
                break;
        }
 
-       printk("CPU: %s\n", get_cpu_subtype());
+       printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
 
 #ifndef __LITTLE_ENDIAN__
        /* 'eb' means 'Endian Big' */