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>
Signed-off-by: aatjitra <aatjitra@gmail.com>
Signed-off-by: Ardi <aatjitra@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>
Signed-off-by: aatjitra <aatjitra@gmail.com>
Signed-off-by: Ardi <aatjitra@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>
Signed-off-by: aatjitra <aatjitra@gmail.com>
Signed-off-by: Ardi <aatjitra@gmail.com>
touch_synaptics: bring on par with touch_synaptics_ds5

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Signed-off-by: aatjitra <aatjitra@gmail.com>
Signed-off-by: Ardi <aatjitra@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>
Signed-off-by: aatjitra <aatjitra@gmail.com>
Signed-off-by: Ardi <aatjitra@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>
Signed-off-by: aatjitra <aatjitra@gmail.com>
Signed-off-by: Ardi <aatjitra@gmail.com>
sweep2wake: disabled as default, enable it over apps/sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Signed-off-by: aatjitra <aatjitra@gmail.com>
Signed-off-by: Ardi <aatjitra@gmail.com>
sweep2wake: cleanup header file

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