fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / mips / sibyte / sb1250 / prom.c
index 426fb30..3c33a45 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/blkdev.h>
 #include <linux/bootmem.h>
 #include <linux/smp.h>
+#include <linux/initrd.h>
+#include <linux/pm.h>
 
 #include <asm/bootinfo.h>
 #include <asm/reboot.h>
 
-#ifdef CONFIG_EMBEDDED_RAMDISK
-/* These are symbols defined by the ramdisk linker script */
-extern unsigned char __rd_start;
-extern unsigned char __rd_end;
-#endif
-
 #define MAX_RAM_SIZE ((CONFIG_SIBYTE_STANDALONE_RAM_SIZE * 1024 * 1024) - 1)
 
 static __init void prom_meminit(void)
@@ -41,17 +36,6 @@ static __init void prom_meminit(void)
        unsigned long initrd_pstart;
        unsigned long initrd_pend;
 
-#ifdef CONFIG_EMBEDDED_RAMDISK
-       /* If we're using an embedded ramdisk, then __rd_start and __rd_end
-          are defined by the linker to be on either side of the ramdisk
-          area.  Otherwise, initrd_start should be defined by kernel command
-          line arguments */
-       if (initrd_start == 0) {
-               initrd_start = (unsigned long)&__rd_start;
-               initrd_end = (unsigned long)&__rd_end;
-       }
-#endif
-
        initrd_pstart = __pa(initrd_start);
        initrd_pend = __pa(initrd_end);
        if (initrd_start &&
@@ -95,7 +79,7 @@ void __init prom_init(void)
 {
        _machine_restart   = (void (*)(char *))prom_linux_exit;
        _machine_halt      = prom_linux_exit;
-       _machine_power_off = prom_linux_exit;
+       pm_power_off = prom_linux_exit;
 
        strcpy(arcs_cmdline, "root=/dev/ram0 ");