static u8 mainboard_smi_ec(void) { u8 cmd; u32 pm1_cnt; cmd = read_ec_command_byte(EC_GET_SMI_CAUSE); switch (cmd) { case EC_LID_CLOSE: printk(BIOS_DEBUG, "LID CLOSED, SHUTDOWN\n"); /* Go to S5 */ pm1_cnt = inl(smm_get_pmbase() + PM1_CNT); pm1_cnt |= (0xf << 10); outl(pm1_cnt, smm_get_pmbase() + PM1_CNT); break; } return cmd; }
static u8 mainboard_smi_ec(void) { u8 cmd = google_chromeec_get_event(); u32 pm1_cnt; #if CONFIG_ELOG_GSMI /* Log this event */ if (cmd) elog_add_event_byte(ELOG_TYPE_EC_EVENT, cmd); #endif switch (cmd) { case EC_HOST_EVENT_LID_CLOSED: printk(BIOS_DEBUG, "LID CLOSED, SHUTDOWN\n"); /* Go to S5 */ pm1_cnt = inl(smm_get_pmbase() + PM1_CNT); pm1_cnt |= (0xf << 10); outl(pm1_cnt, smm_get_pmbase() + PM1_CNT); break; } return cmd; }