]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sparc64/prom/init.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6-omap-h63xx.git] / arch / sparc64 / prom / init.c
index 095755e428a687782963f041e9fffd4f01293d10..87e7c7ea0ee61446d292b6817fafa2bb506bbf79 100644 (file)
@@ -14,8 +14,8 @@
 #include <asm/openprom.h>
 #include <asm/oplib.h>
 
-enum prom_major_version prom_vers;
-unsigned int prom_rev, prom_prev;
+/* OBP version string. */
+char prom_version[80];
 
 /* The root node of the prom device tree. */
 int prom_stdin, prom_stdout;
@@ -30,13 +30,7 @@ extern void prom_cif_init(void *, void *);
 
 void __init prom_init(void *cif_handler, void *cif_stack)
 {
-       char buffer[80], *p;
-       int ints[3];
        int node;
-       int i = 0;
-       int bufadjust;
-
-       prom_vers = PROM_P1275;
 
        prom_cif_init(cif_handler, cif_stack);
 
@@ -51,44 +45,13 @@ void __init prom_init(void *cif_handler, void *cif_stack)
        if (!node || node == -1)
                prom_halt();
 
-       prom_getstring(node, "version", buffer, sizeof (buffer));
+       prom_getstring(node, "version", prom_version, sizeof(prom_version));
 
        prom_printf("\n");
+}
 
-       if (strncmp(buffer, "OBP ", 4))
-               goto strange_version;
-
-       /*
-        * Version field is expected to be 'OBP xx.yy.zz date...'
-        * However, Sun can't stick to this format very well, so
-        * we need to check for 'OBP  xx.yy.zz date...' and adjust
-        * accordingly. -spot
-        */
-
-       if (strncmp(buffer, "OBP  ", 5))
-               bufadjust = 4;
-       else
-               bufadjust = 5;
-
-       p = buffer + bufadjust;
-       while (p && isdigit(*p) && i < 3) {
-               ints[i++] = simple_strtoul(p, NULL, 0);
-               if ((p = strchr(p, '.')) != NULL)
-                       p++;
-       }
-       if (i != 3)
-               goto strange_version;
-
-       prom_rev = ints[1];
-       prom_prev = (ints[0] << 16) | (ints[1] << 8) | ints[2];
-
-       printk("PROMLIB: Sun IEEE Boot Prom %s\n", buffer + bufadjust);
+void __init prom_init_report(void)
+{
+       printk("PROMLIB: Sun IEEE Boot Prom '%s'\n", prom_version);
        printk("PROMLIB: Root node compatible: %s\n", prom_root_compatible);
-
-       /* Initialization successful. */
-       return;
-
-strange_version:
-       prom_printf ("Strange OBP version `%s'.\n", buffer);
-       prom_halt ();
 }