apm_cmd
ret = smi_data_buf_realloc(sizeof(struct apm_cmd));
struct apm_cmd *apm_cmd;
apm_cmd = (struct apm_cmd *)smi_buf.virt;
apm_cmd->status = ESM_STATUS_CMD_UNSUCCESSFUL;
while (apm_cmd->status == ESM_STATUS_CMD_UNSUCCESSFUL) {
struct apm_cmd *apm_cmd;
if (smi_buf.size < sizeof(struct apm_cmd)) {
apm_cmd = (struct apm_cmd *)smi_buf.virt;
apm_cmd->command = ESM_APM_POWER_CYCLE;
apm_cmd->reserved = 0;
*((s16 *)&apm_cmd->parameters.shortreq.parm[0]) = (s16) 0;
apm_cmd->command = ESM_APM_POWER_CYCLE;
apm_cmd->reserved = 0;
*((s16 *)&apm_cmd->parameters.shortreq.parm[0]) = (s16) 20;