Revert "lib/lzo: Optimize code for CPUs with inefficient unaligned access"

This reverts commit 1f871d5beb0919891c4c9100950d8961a08f4fd1.
Revert "lib/lzo: Update LZO compression to current upstream version"

This reverts commit 298fd2b844c35e160b07bc3e362281f71e52969d.
Revert "lib: Fix generic strnlen_user for 32-bit big-endian machines"

This reverts commit fe840ef121945f03e23d8b0661d2f4c71e7e1589.
Revert "lib: add generic strnlen_user() function"

This reverts commit 515df8d3b0c3ca037c7fad92ca12fc896d4b2dc9.
Revert "word-at-a-time: make the interfaces truly generic"

This reverts commit b1582085e14dd751a85c25ffa70882807129d4e3.
Revert "kernel: Move REPEAT_BYTE definition into linux/kernel.h"

This reverts commit 4fcfc3f3fadada894f0b0bfe75a5e46369c4387b.
Revert "ARM: use generic strnlen_user and strncpy_from_user functions"

This reverts commit f7fe7c66f84fe15ef0dd8a5bc6e4f09e864f111b.
Revert "lib: Sparc's strncpy_from_user is generic enough, move under lib/"

This reverts commit 48c8bd6159c7d594f01663cb1e51677e1f3adbce.
Revert "arch/arm/Kconfig: enable unaligned capability for ARM"

This reverts commit 2ffc9351f44885c8ff2efdbb7e2b5e8a0ea4ebf1.
Revert "msm: boards: Enable Krait Retention."

This reverts commit 0944ddb32359a70a4383de87245a972792ca5842.
drivers: misc: Initial support for touchwake

Conflicts:
	drivers/misc/Kconfig
 input: lge_touch_core: show accuracy and jitter in sysfs
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: 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>
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: Reset touch screen on power on

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

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