add sweep2wake source files

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: add qpnp-power-on hooks for the power key

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/touch_synaptics_ds5: add is_single_touch & s2w detection hook

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: backport per device settings from sweep2wake2 (like pwr btn choice too)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/touch_synaptics_ds5: disable suspend if sweep2wake is enabled

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/touch_synaptics_ds5: add reset code on finger release

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/touch_synaptics_ds5: add screen suspend indicator

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: add irq_wake indicator

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/touch_synaptics: patch with sweep2wake hooks as well

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/touch_synaptics_ds5: re-add android_touch kobj

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
[PATCH] mdss_dsi: do not power down panel when sweep2wake is enabled
 In order to detect touches during suspend, the panel must
 be powered on. When sweep2wake is enabled, change one of the
 panel-off-cmds in mdss_dsi_panel.c from 0x10 to 0x11.

Signed-off-by: flar2 <asegaert@gmail.com>
sweep2wake: disable debug

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: massive update, bring on par with s2w2 except algorithm

This patches sweep2wake on par with s2w2, minus the detection algorithm.
Changes in detail:
- Remove dependency on a power key setter, use a dummy device.
- Remove dependency on a touchscreen driver, use an input callback
- Remove dependency on external sysfs functions
- Remove dependency on external reset calls
- Migrate all of this into sweep2wake

Porting to new devices is now easier than ever:
1. Define your device parameters in the Sweep2wake tuneables
2. Check if the android_touch_kobj is already used by your touchscreen driver
2a. If it is export it and define S2W_ANDROID_TOUCH_DECLARED
(This will prevent s2w from spawning it's own kobj)
3. Force the touchscreen driver to deliver signals in suspend and you are done.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/input/touchscreen/touch_synaptics_ds5.c
sweep2wake & touchscreens: replaced flawed irq_wake procedures with linux functions
Also init device wakeup in init to be able to use those functions in the first place

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: we no longer need irq_wake. remove it.
Also clean up variable declariation to save some space

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
touch_synaptics: i2c_read: auto retry 10 times before erroring out
The i2c devices we are connecting to may not be ready yet, or just
busy. Retry with a 10ms pause in order to still obtain touch data.
This improves overall touch data robustness, but the main thing it
does:
WE CAN FINALLY GET TOUCH DATA IN SUSPEND ALL THE TIME.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
touch_synaptics_ds5: i2c_read: auto retry 10 times before erroring out
The i2c devices we are connecting to may not be ready yet, or just
busy. Retry with a 10ms pause in order to still obtain touch data.
This improves overall touch data robustness, but the main thing it
does:
WE CAN FINALLY GET TOUCH DATA IN SUSPEND ALL THE TIME.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: disabled as default, enable it over apps/sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
touch_synaptics: bring on par with touch_synaptics_ds5

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
s2w: rename version file so we don't conflict with dt2w, driver versions, etc

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>