/***************************************************************************** 函 数 名 : bsp_power_ctrl_read_cb 功能描述 : C核核间回调函数 输入参数 : 输出参数 : 无 返 回 值 : 调用函数 : 被调函数 : *****************************************************************************/ static s32 bsp_power_ctrl_read_cb( void ) { int rt = 0; int read_len = 0; stCtrlMsg msg; u32 channel_id = ICC_CHN_IFC << 16 | IFC_RECV_FUNC_ONOFF; read_len = bsp_icc_read(channel_id, (u8*)&msg, sizeof(stCtrlMsg)); if(read_len != (int)sizeof(stCtrlMsg)) { pr_dbg("read len(%x) != expected len(%x)\n", read_len, sizeof(stCtrlMsg)); return -1; } pr_dbg("bsp_power_ctrl_read_cb 0x%x\n", msg.pwr_type); switch(msg.pwr_type) { case E_POWER_ON_MODE_GET: bsp_power_icc_send_state(); break; case E_POWER_SHUT_DOWN: drv_shut_down(msg.reason); break; case E_POWER_POWER_OFF: bsp_drv_power_off(); break; case E_POWER_POWER_REBOOT: bsp_drv_power_reboot(); break; default: pr_dbg("invalid ctrl by ccore\n"); break; } return rt; }
/****************************************************************************** * Function: balong_power_off * Description: same as bsp_drv_power_off, 系统调用时使用 * Input: * None * Output: * None * Return: * None * Note :android_reboot(ANDROID_RB_POWER_OFF, 0, 0); ********************************************************************************/ void balong_power_off( void ) { bsp_drv_power_off(); }
/****************************************************************************** * Function: balong_power_off * Description: same as bsp_drv_power_off, 系统调用时使用 * Input: * None * Output: * None * Return: * None * Note :android_reboot(ANDROID_RB_POWER_OFF, 0, 0); ********************************************************************************/ void balong_power_off( void ) { bsp_om_save_reboot_log(__FUNCTION__, __builtin_return_address(0)); bsp_drv_power_off(); }