mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
focaltech_0flash_mmi: Change sensor flag into on-change
TP: Change sensor flag into on-change sensor. one shot sensor can not work normal for TDDI panel Change-Id: I0a33ad017b2a11e86f3f437009904678509a9f22 Signed-off-by: haojl2 <haojl2@motorola.com> Reviewed-on: https://gerrit.mot.com/1435389 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jianlin Nie <niejl1@motorola.com> Reviewed-by: Hujun Liao <liaohj@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
1de11879a5
commit
80dc7b44f2
2 changed files with 14 additions and 30 deletions
|
|
@ -2059,6 +2059,7 @@ static int _fts_ts_suspend(struct device *dev)
|
|||
ts_data->suspended = true;
|
||||
#ifdef FOCALTECH_SENSOR_EN
|
||||
ts_data->screen_state = SCREEN_OFF;
|
||||
ts_data->wakeable = true;
|
||||
mutex_unlock(&ts_data->state_mutex);
|
||||
FTS_INFO("Enter gesture suspend mode.");
|
||||
#endif
|
||||
|
|
@ -2165,12 +2166,13 @@ static int _fts_ts_resume(struct device *dev)
|
|||
#if FTS_GESTURE_EN
|
||||
|
||||
#ifdef FOCALTECH_SENSOR_EN
|
||||
if (ts_data->should_enable_gesture) {
|
||||
if (ts_data->wakeable) {
|
||||
#endif
|
||||
if (fts_gesture_resume(ts_data) == 0) {
|
||||
ts_data->suspended = false;
|
||||
#ifdef FOCALTECH_SENSOR_EN
|
||||
ts_data->screen_state = SCREEN_ON;
|
||||
ts_data->wakeable = false;
|
||||
mutex_unlock(&ts_data->state_mutex);
|
||||
FTS_INFO("Exit from gesture suspend mode.");
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -111,8 +111,10 @@ static struct sensors_classdev __maybe_unused sensors_touch_cdev = {
|
|||
.max_range = "5.0",
|
||||
.resolution = "5.0",
|
||||
.sensor_power = "1",
|
||||
.min_delay = -1,
|
||||
.min_delay = 0,
|
||||
.max_delay = 0,
|
||||
/* WAKE_UP & ON_CHANGE */
|
||||
.flags = 1 | 2,
|
||||
.fifo_reserved_event_count = 0,
|
||||
.fifo_max_event_count = 0,
|
||||
.enabled = 0,
|
||||
|
|
@ -295,13 +297,8 @@ static void fts_gesture_report(struct input_dev *input_dev, int gesture_id)
|
|||
if (gesture != -1) {
|
||||
FTS_DEBUG("Gesture Code=%d", gesture);
|
||||
#ifdef FOCALTECH_SENSOR_EN
|
||||
if (!fts_data->wakeable) {
|
||||
FTS_INFO("Predict enable failed.");
|
||||
fts_data->should_enable_gesture = false;
|
||||
fts_gesture_resume(fts_data);
|
||||
/* TP enter sleep mode */
|
||||
if (fts_write_reg(FTS_REG_POWER_MODE, FTS_REG_POWER_MODE_SLEEP_VALUE) < 0)
|
||||
FTS_ERROR("set TP to sleep mode fail.");
|
||||
if (!(fts_data->wakeable && fts_data->should_enable_gesture)) {
|
||||
FTS_INFO("Gesture got but wakeable not set. Skip this gesture.");
|
||||
return;
|
||||
}
|
||||
input_report_abs(fts_data->sensor_pdata->input_sensor_dev,
|
||||
|
|
@ -313,7 +310,7 @@ static void fts_gesture_report(struct input_dev *input_dev, int gesture_id)
|
|||
#ifdef CONFIG_HAS_WAKELOCK
|
||||
wake_lock_timeout(&gesture_wakelock, msecs_to_jiffies(5000));
|
||||
#else
|
||||
__pm_wakeup_event(&gesture_wakelock, msecs_to_jiffies(5000));
|
||||
__pm_wakeup_event(&gesture_wakelock, 5000);
|
||||
#endif
|
||||
#else
|
||||
input_report_key(input_dev, gesture, 1);
|
||||
|
|
@ -330,28 +327,13 @@ static int fts_sensor_set_enable(struct sensors_classdev *sensors_cdev,
|
|||
{
|
||||
FTS_INFO("Gesture set enable %d!", enable);
|
||||
mutex_lock(&fts_data->state_mutex);
|
||||
if (enable == 1) {
|
||||
fts_data->wakeable = true;
|
||||
if (!fts_data->suspended && fts_data->screen_state == SCREEN_ON) {
|
||||
FTS_INFO("Touch still in normal mode, skip to set to gesture mode");
|
||||
mutex_unlock(&fts_data->state_mutex);
|
||||
return 0;
|
||||
}
|
||||
if (fts_gesture_data.active == ENABLE) {
|
||||
FTS_INFO("already in gesture mode");
|
||||
mutex_unlock(&fts_data->state_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (enable == 1)
|
||||
fts_data->should_enable_gesture = true;
|
||||
fts_gesture_suspend(fts_data);
|
||||
FTS_INFO("Set IC in doze mode");
|
||||
} else if (enable == 0) {
|
||||
fts_data->wakeable = false;
|
||||
//fts_gesture_resume(fts_data);
|
||||
} else {
|
||||
else if (enable == 0)
|
||||
fts_data->should_enable_gesture = false;
|
||||
else
|
||||
FTS_INFO("unknown enable symbol\n");
|
||||
}
|
||||
|
||||
mutex_unlock(&fts_data->state_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue