Report finger lift events after touch suspend.

Solve the problem that the events between the release of the finger
and the completion of the suspend is not released.

Change-Id: I1ccaa71ecd48b91c99f33a9655408dbf8cd1ce09
Reviewed-on: https://gerrit.mot.com/1553366
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
litong 2020-05-13 19:20:27 +08:00 • committed by litong20
commit f0597e7a29
3 changed files with 3 additions and 1 deletions

View file

@ -3420,6 +3420,7 @@ int syna_tcm_suspend(struct device *dev)
if (!tcm_hcd->wakeup_gesture_enabled)
tcm_hcd->enable_irq(tcm_hcd, false, true);
touch_free_objects();
tcm_hcd->in_suspend = true;
return 0;

View file

@ -598,6 +598,7 @@ int touch_reinit(struct syna_tcm_hcd *tcm_hcd);
int touch_early_suspend(struct syna_tcm_hcd *tcm_hcd);
int touch_suspend(struct syna_tcm_hcd *tcm_hcd);
int touch_resume(struct syna_tcm_hcd *tcm_hcd);
void touch_free_objects(void);
int syna_tcm_resume(struct device *dev);
int syna_tcm_suspend(struct device *dev);

View file

@ -162,7 +162,7 @@ static struct touch_hcd *touch_hcd;
*
* Report finger lift events to the input subsystem for all touch objects.
*/
static void touch_free_objects(void)
void touch_free_objects(void)
{
#ifdef TYPE_B_PROTOCOL
unsigned int idx;