Squash Strato's TouchWake

drivers: misc: Initial support for touchwake

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

input: lge_touch_core: show accuracy and jitter in sysfs

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

input: lge_touch_core: Possible fix touchwake reboot issue

Call touch_press in work_func instead of input_report

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

touchwake: Use delayed work to handle powerkey

This may fix issues with watchdog reboots.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

touchwake: Fix checkpatch warnings

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

touch_wake: Remove unused code

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

touchwake: Handle touch suspend/resume only if touchwake is enabled

Refactor suspend/resume to handle touch earlysuspend only if
touchwake is enabled.
(for compatibility with TouchControl app)

Thanks @bponury for hints

Change-Id: I20471c67592256a38019bcdaeaf430f199bf5d4f
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

Revert "touchwake: Handle touch suspend/resume only if touchwake is enabled"

This reverts commit 2bc75c0a586113935fb28c621ff05c0f1254ee4d.

Change-Id: I12ce77b91257ad5f86ed246880b49cc033761aba

Revert "Revert "touchwake: Handle touch suspend/resume only if touchwake is enabled""

This reverts commit 588c097e4396290222b31ef8fad6fccce9a5061d.

Change-Id: Ibf8264aa0fe922414e0d230cf502669fe34f2217

input: lge_touch_core: Send input to touchwake only if it's enabled

Thanks to Bponury.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

input: lge_touch_core: Implement Double tap to wake functionality

If enabled, touchscreen is always powered and user may resume
the device with a double tap on the center of the screen.

Change-Id: Ib860480766a0dd367694fc9ef6f07c83d0f243e1
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

input: lge_touch_core: Rework double touch to wake functionality

- Refactor the code
- Reduce the delay of i2c retry to 10ms
- Use a wake lock when there is a touch to prevent kernel to suspend
- Implement the pm runtime interface

Change-Id: I35546f2fb5e6e0ebd911319b3a2fe0ec805fe81d
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

input: lge_touch_core: Properly destroy wake lock on touch remove

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

input: lge_touch_core: Release all touch events when power on

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>