[PATCH 3/3] PS3: System manager support
Michael Ellerman
michael at ellerman.id.au
Wed Feb 7 11:00:35 EST 2007
On Tue, 2007-02-06 at 14:23 -0800, Geoff Levand wrote:
> Add PS3 system manager support and the ppc_md routines restart() and
> power_off().
>
> The system manager provides an event notification mechanism for reporting
> events like thermal alert and button presses. It also provides support to
> control system shutdown and startup.
>
> Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
>
> ---
> arch/powerpc/platforms/ps3/Kconfig | 10
> arch/powerpc/platforms/ps3/setup.c | 27 +
> drivers/ps3/Makefile | 1
> drivers/ps3/sys-manager.c | 621 +++++++++++++++++++++++++++++++++++++
> include/asm-powerpc/ps3.h | 5
> 5 files changed, 660 insertions(+), 4 deletions(-)
>
> --- ps3-linux-dev.orig/arch/powerpc/platforms/ps3/Kconfig
> +++ ps3-linux-dev/arch/powerpc/platforms/ps3/Kconfig
> @@ -61,4 +61,14 @@ config PS3_PS3AV
> This support is required for graphics and sound. In
> general, all users will say Y or M.
>
> +config PS3_SYS_MANAGER
> + tristate "PS3 System Manager driver"
> + select PS3_VUART
> + default y
> + help
> + Include support for the PS3 System Manager.
> +
> + This support is required for system control. In
> + general, all users will say Y or M.
> +
> endmenu
> --- ps3-linux-dev.orig/arch/powerpc/platforms/ps3/setup.c
> +++ ps3-linux-dev/arch/powerpc/platforms/ps3/setup.c
> @@ -42,6 +42,10 @@
> #define DBG(fmt...) do{if(0)printk(fmt);}while(0)
> #endif
>
> +#if !defined(CONFIG_SMP)
> +static void smp_send_stop(void) {}
> +#endif
> +
> int ps3_get_firmware_version(union ps3_firmware_version *v)
> {
> int result = lv1_get_version_info(&v->raw);
> @@ -66,22 +70,35 @@ static void ps3_power_save(void)
> lv1_pause(0);
> }
>
> +static void ps3_restart(char *cmd)
> +{
> + DBG("%s:%d cmd '%s'\n", __func__, __LINE__, cmd);
> +
> + smp_send_stop();
> + ps3_sys_manager_restart(); /* never returns */
> +}
> +
> +static void ps3_power_off(void)
> +{
> + DBG("%s:%d\n", __func__, __LINE__);
> +
> + smp_send_stop();
> + ps3_sys_manager_power_off(); /* never returns */
> +}
What happens here when the sys manager stuff is built as a module ?
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20070207/beafbb94/attachment.pgp>
More information about the Linuxppc-dev
mailing list