mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 23:24:22 -04:00
input: touchscreen: focaltech: Use disable/enable irq wake in LA to LE
Touch uses gpio as irq in LA. As per latest change from pinctrl, wakeup bit is disabled/enabled when disable_irq/enable_irq is called. During transtion from LA to LE, disable_irq is called leading to wakeup bit getting disabled and in LE Touch interrupts does not come. So, use disable_irq_wake to disable Touch interrupts while transition from LA to LE and use enable_irq_wake to enable back Touch interrupts while transition from LE to LA. Change-Id: I288bfbd26be9ff1da1b7e14104f98338eb8d8715 Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
This commit is contained in:
parent
b5a3e71931
commit
d38127f863
1 changed files with 14 additions and 0 deletions
|
|
@ -1338,7 +1338,14 @@ void fts_irq_disable(void)
|
|||
spin_lock_irqsave(&fts_data->irq_lock, irqflags);
|
||||
|
||||
if (!fts_data->irq_disabled) {
|
||||
#ifdef CONFIG_FTS_TRUSTED_TOUCH
|
||||
if (atomic_read(&fts_data->trusted_touch_underway))
|
||||
disable_irq_wake(fts_data->irq);
|
||||
else
|
||||
disable_irq_nosync(fts_data->irq);
|
||||
#else
|
||||
disable_irq_nosync(fts_data->irq);
|
||||
#endif
|
||||
fts_data->irq_disabled = true;
|
||||
}
|
||||
|
||||
|
|
@ -1354,7 +1361,14 @@ void fts_irq_enable(void)
|
|||
spin_lock_irqsave(&fts_data->irq_lock, irqflags);
|
||||
|
||||
if (fts_data->irq_disabled) {
|
||||
#ifdef CONFIG_FTS_TRUSTED_TOUCH
|
||||
if (atomic_read(&fts_data->trusted_touch_underway))
|
||||
enable_irq_wake(fts_data->irq);
|
||||
else
|
||||
enable_irq(fts_data->irq);
|
||||
#else
|
||||
enable_irq(fts_data->irq);
|
||||
#endif
|
||||
fts_data->irq_disabled = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue