[RFC/PATCH] Maple: Use RTAS power off methods if available
Nathan Lynch
ntl at pobox.com
Wed Oct 25 23:58:53 EST 2006
Michael Ellerman wrote:
>
> Index: powerpc/arch/powerpc/Kconfig
> ===================================================================
> --- powerpc.orig/arch/powerpc/Kconfig
> +++ powerpc/arch/powerpc/Kconfig
> @@ -422,6 +422,7 @@ config PPC_MAPLE
> select GENERIC_TBSYNC
> select PPC_UDBG_16550
> select PPC_970_NAP
> + select PPC_RTAS
> default n
> help
> This option enables support for the Maple 970FX Evaluation Board.
> Index: powerpc/arch/powerpc/platforms/maple/setup.c
> ===================================================================
> --- powerpc.orig/arch/powerpc/platforms/maple/setup.c
> +++ powerpc/arch/powerpc/platforms/maple/setup.c
> @@ -61,6 +61,7 @@
> #include <asm/lmb.h>
> #include <asm/mpic.h>
> #include <asm/udbg.h>
> +#include <asm/rtas.h>
>
> #include "maple.h"
>
> @@ -185,6 +186,26 @@ void __init maple_setup_arch(void)
> printk(KERN_DEBUG "Using native/NAP idle loop\n");
> }
>
> +static void __init maple_check_for_rtas_poweroff(void)
> +{
> +#ifdef CONFIG_PPC_RTAS
> + struct device_node *rtas;
> +
> + rtas = of_find_node_by_path("/rtas");
> + if (rtas) {
> + if (get_property(rtas, "system-reboot", NULL))
> + ppc_md.restart = rtas_restart;
> +
> + if (get_property(rtas, "power-off", NULL)) {
> + ppc_md.power_off = rtas_power_off;
> + ppc_md.halt = rtas_halt;
> + }
> +
> + of_node_put(rtas);
> + }
> +#endif
PPC_RTAS is selected in Kconfig, the ifdef isn't necessary.
More information about the Linuxppc-dev
mailing list