From ec8059b5ef24673bf78c5eb6cb072adb1c2e4335 Mon Sep 17 00:00:00 2001 From: Konstantin Makariev Date: Fri, 20 Dec 2019 17:17:55 -0600 Subject: [PATCH] sec_mmi: single/zero tap report format change LSI came up with reporting MMI gestures via Gesture Event Type VENDOR (0x8). Single tap has Gesture Event ID (0x1) and zero tap has Gesture Event ID (0x2) followed by coordinates values. Change-Id: I1c3b6e6e96dadd2c7f8281378f7f1257f743a4cd Signed-off-by: Konstantin Makariev Reviewed-on: https://gerrit.mot.com/1475704 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Konstantin Makariev Submit-Approved: Jira Key --- drivers/input/touchscreen/sec_mmi/sec_ts.c | 14 +++++++++----- drivers/input/touchscreen/sec_mmi/sec_ts.h | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/input/touchscreen/sec_mmi/sec_ts.c b/drivers/input/touchscreen/sec_mmi/sec_ts.c index 512a0a04e6e8..a1c101325ef4 100644 --- a/drivers/input/touchscreen/sec_mmi/sec_ts.c +++ b/drivers/input/touchscreen/sec_mmi/sec_ts.c @@ -878,15 +878,12 @@ static void sec_ts_read_event(struct sec_ts_data *ts) case SEC_TS_GESTURE_EVENT: gs = (struct sec_ts_gesture_status *)event_buff; input_info(true, &ts->client->dev, "%s: GESTURE %x %x %x %x %x %x %x %x\n", __func__, - gs->eid | (gs->stype << 4) | (gs->sf << 6), + gs->eid | (gs->stype << 2) | (gs->sf << 6), gs->gesture_id, gs->gesture_data_1, gs->gesture_data_2, gs->gesture_data_3, gs->gesture_data_4, gs->reserved_1, gs->left_event_5_0 | (gs->reserved_2 << 6)); switch (gs->stype) { - case SEC_TS_GESTURE_CODE_SPAY: - /* */ - /* Gesture event handling */ - /* */ + case SEC_TS_GESTURE_CODE_VENDOR: #if defined(CONFIG_INPUT_TOUCHSCREEN_MMI) if (ts->imports && ts->imports->report_gesture) { struct gesture_event_data event; @@ -904,6 +901,11 @@ static void sec_ts_read_event(struct sec_ts_data *ts) } #endif break; + case SEC_TS_GESTURE_CODE_SPAY: + /* */ + /* Gesture event handling */ + /* */ + break; case SEC_TS_GESTURE_CODE_DOUBLE_TAP: /* */ /* Gesture event handling */ @@ -911,8 +913,10 @@ static void sec_ts_read_event(struct sec_ts_data *ts) break; } +#if !defined(CONFIG_INPUT_TOUCHSCREEN_MMI) input_sync(ts->input_dev); input_report_key(ts->input_dev, KEY_BLACK_UI_GESTURE, 0); +#endif break; default: input_err(true, &ts->client->dev, "%s: unknown event %x %x %x %x %x %x\n", __func__, diff --git a/drivers/input/touchscreen/sec_mmi/sec_ts.h b/drivers/input/touchscreen/sec_mmi/sec_ts.h index 0179ccd5b91b..d7cf373bcb9b 100644 --- a/drivers/input/touchscreen/sec_mmi/sec_ts.h +++ b/drivers/input/touchscreen/sec_mmi/sec_ts.h @@ -271,6 +271,7 @@ #define SEC_TS_SID_GESTURE 0x14 #define SEC_TS_GESTURE_CODE_SPAY 0x00 #define SEC_TS_GESTURE_CODE_DOUBLE_TAP 0x01 +#define SEC_TS_GESTURE_CODE_VENDOR 0x08 #define SEC_TS_COORDINATE_ACTION_NONE 0 #define SEC_TS_COORDINATE_ACTION_PRESS 1