This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / mips / pmc-sierra / yosemite / prom.c
index 4c2e8c4..165275c 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <linux/delay.h>
+#include <linux/pm.h>
 #include <linux/smp.h>
 
 #include <asm/io.h>
@@ -43,7 +44,7 @@ const char *get_system_type(void)
 
 static void prom_cpu0_exit(void *arg)
 {
-       void *nvram = (void *) YOSEMITE_NVRAM_BASE_ADDR;
+       void *nvram = (void *) YOSEMITE_RTC_BASE;
 
        /* Ask the NVRAM/RTC/watchdog chip to assert reset in 1/16 second */
        writeb(0x84, nvram + 0xff7);
@@ -92,9 +93,7 @@ void __init prom_init(void)
        /* Callbacks for halt, restart */
        _machine_restart = (void (*)(char *)) prom_exit;
        _machine_halt = prom_halt;
-       _machine_power_off = prom_halt;
-
-#ifdef CONFIG_MIPS32
+       pm_power_off = prom_halt;
 
        debug_vectors = cv;
        arcs_cmdline[0] = '\0';
@@ -109,6 +108,11 @@ void __init prom_init(void)
                strcat(arcs_cmdline, " ");
        }
 
+#ifdef CONFIG_SERIAL_8250_CONSOLE
+       if ((strstr(arcs_cmdline, "console=ttyS")) == NULL)
+               strcat(arcs_cmdline, "console=ttyS0,115200");
+#endif
+
        while (*env) {
                if (strncmp("ocd_base", *env, strlen("ocd_base")) == 0)
                        yosemite_base =
@@ -122,7 +126,6 @@ void __init prom_init(void)
 
                env++;
        }
-#endif /* CONFIG_MIPS32 */
 
        mips_machgroup = MACH_GROUP_TITAN;
        mips_machtype = MACH_TITAN_YOSEMITE;
@@ -130,8 +133,9 @@ void __init prom_init(void)
        prom_grab_secondary();
 }
 
-void __init prom_free_prom_memory(void)
+unsigned long __init prom_free_prom_memory(void)
 {
+       return 0;
 }
 
 void __init prom_fixup_mem_map(unsigned long start, unsigned long end)