drivers/input/touchscreen/touch_synaptics_ds5.c: No suspend irq

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
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_ds5: re-add android_touch kobj

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/touch_synaptics_ds5: add missing irq_wake controls and fix c&p typo

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: fix epic c&p fails for irq_wake indicator

Signed-off-by: Dennis Rassmann <showp1984@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>
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: bring on par with touch_synaptics_ds5

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>