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

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

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

This reverts commit 2bc75c0a586113935fb28c621ff05c0f1254ee4d.

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

This reverts commit 588c097e4396290222b31ef8fad6fccce9a5061

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.

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

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>

input: lge_touch_core: Remove debug info

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

input: lge_touch_core: Reset touch screen on power on

When power on the device reset touch screen to avoid
unresponsive touch screen issues.

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