[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