static void command_handler(struct dpram_link_device *dpld, u16 cmd) { struct link_device *ld = &dpld->ld; switch (INT_CMD_MASK(cmd)) { case INT_CMD_REQ_ACTIVE: cmd_req_active_handler(dpld); break; case INT_CMD_CRASH_RESET: dpld->dpram_init_status = DPRAM_INIT_STATE_NONE; cmd_crash_reset_handler(dpld); break; case INT_CMD_CRASH_EXIT: dpld->dpram_init_status = DPRAM_INIT_STATE_NONE; cmd_crash_exit_handler(dpld); break; case INT_CMD_PHONE_START: dpld->dpram_init_status = DPRAM_INIT_STATE_READY; cmd_phone_start_handler(dpld); complete_all(&dpld->dpram_init_cmd); break; case INT_CMD_NV_REBUILDING: mif_info("%s: NV_REBUILDING\n", ld->name); break; case INT_CMD_PIF_INIT_DONE: complete_all(&dpld->modem_pif_init_done); break; case INT_CMD_SILENT_NV_REBUILDING: mif_info("%s: SILENT_NV_REBUILDING\n", ld->name); break; case INT_CMD_NORMAL_PWR_OFF: /*ToDo:*/ /*kernel_sec_set_cp_ack()*/; break; case INT_CMD_REQ_TIME_SYNC: case INT_CMD_CP_DEEP_SLEEP: case INT_CMD_EMER_DOWN: break; default: mif_info("%s: unknown command 0x%04X\n", ld->name, cmd); } }
static void qsc6085_command_handler(struct dpram_link_device *dpld, u16 cmd) { switch (INT_CMD_MASK(cmd)) { case INT_CMD_REQ_ACTIVE: qsc6085_req_active_handler(dpld); break; case INT_CMD_ERR_DISPLAY: #ifdef CONFIG_LINK_DEVICE_S5P_IDPRAM /* If modem crashes while PDA_SLEEP is in progres */ dpld->pm_op->halt_suspend(dpld); #endif qsc6085_error_display_handler(dpld); break; case INT_CMD_PHONE_START: qsc6085_start_handler(dpld); complete_all(&ld->init_cmpl); break; #ifdef CONFIG_LINK_DEVICE_S5P_IDPRAM case INT_CMD_IDPRAM_SUSPEND_ACK: dpld->pm_op->power_down(dpld); break; case INT_CMD_IDPRAM_WAKEUP_START: dpld->pm_op->power_up(dpld); break; #endif case INT_CMD_NORMAL_POWER_OFF: complete(&dpld->crash_cmpl); qsc6085_error_display_handler(dpld); break; default: mif_err("unknown command 0x%04X\n", cmd); break; } }