return -EINVAL;
}
break;
+
case CEC_IOC_SET_FREEZE_MODE:
/* system enter power down freeze mode
* need save current device type and logical addr
cec_save_pre_setting();
CEC_ERR("need enter freeze mode\n");
break;
+
+ case CEC_IOC_GET_BOOT_PORT:
+ tmp = cec_dev->wakup_data.wk_port_id;
+ CEC_ERR("Boot port:%#x\n", (unsigned int)tmp);
+ if (copy_to_user(argp, &tmp, _IOC_SIZE(cmd))) {
+ mutex_unlock(&cec_dev->cec_ioctl_mutex);
+ return -EINVAL;
+ }
+ break;
+
default:
CEC_ERR("error ioctrl\n");
break;
{
cec_dev->cec_suspend = CEC_PW_STANDBY;
CEC_ERR("%s, suspend sts:%d\n", __func__, cec_dev->cec_suspend);
+ /* reset wakeup reason for considering light sleep situation*/
+ cec_dev->wakeup_reason = 0;
}
static void aocec_late_resume(struct early_suspend *h)
#define CEC_IOC_GET_BOOT_ADDR _IOW(CEC_IOC_MAGIC, 0x10, uint32_t)
#define CEC_IOC_GET_BOOT_REASON _IOW(CEC_IOC_MAGIC, 0x11, uint32_t)
#define CEC_IOC_SET_FREEZE_MODE _IOW(CEC_IOC_MAGIC, 0x12, uint32_t)
-
+#define CEC_IOC_GET_BOOT_PORT _IOW(CEC_IOC_MAGIC, 0x13, uint32_t)
#define CEC_FAIL_NONE 0
#define CEC_FAIL_NACK 1