Merge branch 'for-linus' of git://neil.brown.name/md
[pandora-kernel.git] / arch / powerpc / kernel / prom_init.c
index 5ab4c84..1ea8c8d 100644 (file)
@@ -620,6 +620,7 @@ static void __init early_cmdline_parse(void)
 #define OV1_PPC_2_03           0x10    /* set if we support PowerPC 2.03 */
 #define OV1_PPC_2_04           0x08    /* set if we support PowerPC 2.04 */
 #define OV1_PPC_2_05           0x04    /* set if we support PowerPC 2.05 */
+#define OV1_PPC_2_06           0x02    /* set if we support PowerPC 2.06 */
 
 /* Option vector 2: Open Firmware options supported */
 #define OV2_REAL_MODE          0x20    /* set if we want OF in real mode */
@@ -650,6 +651,8 @@ static void __init early_cmdline_parse(void)
 static unsigned char ibm_architecture_vec[] = {
        W(0xfffe0000), W(0x003a0000),   /* POWER5/POWER5+ */
        W(0xffff0000), W(0x003e0000),   /* POWER6 */
+       W(0xffff0000), W(0x003f0000),   /* POWER7 */
+       W(0xffffffff), W(0x0f000003),   /* all 2.06-compliant */
        W(0xffffffff), W(0x0f000002),   /* all 2.05-compliant */
        W(0xfffffffe), W(0x0f000001),   /* all 2.04-compliant and earlier */
        5 - 1,                          /* 5 option vectors */
@@ -658,7 +661,7 @@ static unsigned char ibm_architecture_vec[] = {
        3 - 2,                          /* length */
        0,                              /* don't ignore, don't halt */
        OV1_PPC_2_00 | OV1_PPC_2_01 | OV1_PPC_2_02 | OV1_PPC_2_03 |
-       OV1_PPC_2_04 | OV1_PPC_2_05,
+       OV1_PPC_2_04 | OV1_PPC_2_05 | OV1_PPC_2_06,
 
        /* option vector 2: Open Firmware options supported */
        34 - 2,                         /* length */
@@ -2240,6 +2243,14 @@ static void __init fixup_device_tree_efika(void)
        if (rv != PROM_ERROR && (strcmp(prop, "chrp") == 0))
                prom_setprop(node, "/", "device_type", "efika", sizeof("efika"));
 
+       /* CODEGEN,description is exposed in /proc/cpuinfo so
+          fix that too */
+       rv = prom_getprop(node, "CODEGEN,description", prop, sizeof(prop));
+       if (rv != PROM_ERROR && (strstr(prop, "CHRP")))
+               prom_setprop(node, "/", "CODEGEN,description",
+                            "Efika 5200B PowerPC System",
+                            sizeof("Efika 5200B PowerPC System"));
+
        /* Fixup bestcomm interrupts property */
        node = call_prom("finddevice", 1, 1, ADDR("/builtin/bestcomm"));
        if (PHANDLE_VALID(node)) {