static void ps3_sys_manager_final_restart(struct ps3_system_bus_device *dev) { BUG_ON(!dev); dev_dbg(&dev->core, "%s:%d\n", __func__, __LINE__); /* Check if we got here via a power button event. */ if (ps3_sm_force_power_off) { dev_dbg(&dev->core, "%s:%d: forcing poweroff\n", __func__, __LINE__); ps3_sys_manager_final_power_off(dev); } ps3_vuart_cancel_async(dev); ps3_sys_manager_send_attr(dev, 0); ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_LPAR_REBOOT, PS3_SM_WAKE_DEFAULT); ps3_sys_manager_send_request_shutdown(dev); printk(KERN_EMERG "System Halted, OK to turn off power\n"); while(1) ps3_sys_manager_handle_msg(dev); }
static void ps3_sys_manager_fin(struct ps3_system_bus_device *dev) { ps3_sys_manager_send_request_shutdown(dev); pr_emerg("System Halted, OK to turn off power\n"); while (ps3_sys_manager_handle_msg(dev)) { lv1_pause(0); } while (1) { lv1_pause(1); } }
static void ps3_sys_manager_fin(struct ps3_system_bus_device *dev) { ps3_sys_manager_send_request_shutdown(dev); pr_emerg("System Halted, OK to turn off power\n"); while (ps3_sys_manager_handle_msg(dev)) { /* pause until next DEC interrupt */ lv1_pause(0); } while (1) { /* pause, ignoring DEC interrupt */ lv1_pause(1); } }
static void ps3_sys_manager_final_power_off(struct ps3_system_bus_device *dev) { BUG_ON(!dev); dev_dbg(&dev->core, "%s:%d\n", __func__, __LINE__); ps3_vuart_cancel_async(dev); ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_SHUTDOWN, PS3_SM_WAKE_DEFAULT); ps3_sys_manager_send_request_shutdown(dev); printk(KERN_EMERG "System Halted, OK to turn off power\n"); while(1) ps3_sys_manager_handle_msg(dev); }
static void ps3_sys_manager_work(struct ps3_system_bus_device *dev) { ps3_sys_manager_handle_msg(dev); ps3_vuart_read_async(dev, PS3_SM_RX_MSG_LEN_MIN); }