Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e254c45 authored by Nathan Lynch's avatar Nathan Lynch Committed by Paul Mackerras
Browse files

[POWERPC] maple: Use RTAS for reboot and halt



On maple, use the RTAS "system-reboot" and "power-off" methods if they
are available.

Signed-off-by: default avatarNathan Lynch <ntl@pobox.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent f2d6d2d8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@
#include <asm/of_device.h>
#include <asm/lmb.h>
#include <asm/mpic.h>
#include <asm/rtas.h>
#include <asm/udbg.h>

#include "maple.h"
@@ -166,6 +167,16 @@ struct smp_ops_t maple_smp_ops = {
};
#endif /* CONFIG_SMP */

static void __init maple_use_rtas_reboot_and_halt_if_present(void)
{
	if (rtas_service_present("system-reboot") &&
	    rtas_service_present("power-off")) {
		ppc_md.restart = rtas_restart;
		ppc_md.power_off = rtas_power_off;
		ppc_md.halt = rtas_halt;
	}
}

void __init maple_setup_arch(void)
{
	/* init to some ~sane value until calibrate_delay() runs */
@@ -181,6 +192,7 @@ void __init maple_setup_arch(void)
#ifdef CONFIG_DUMMY_CONSOLE
	conswitchp = &dummy_con;
#endif
	maple_use_rtas_reboot_and_halt_if_present();

	printk(KERN_DEBUG "Using native/NAP idle loop\n");
}