Squashed doubletap to wake from @showp1984

add doubletap2wake, completely rewritten on the s2w template

This is as easy to port as s2w, if not easier since no touchscreen
coords are necessary for it to work.

Just throw it in your tree, force the touchscreen to stay online and
you are done.

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

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

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

dt2w: fix triple tap to wake occuring sometimes

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

drivers/input/touchscreen/doubletap2wake: Fix compilation with earlysuspend

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

sweep2wake/doubletap2wake/touchscreen: Prepare for dt2w

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

Conflicts:
	drivers/input/touchscreen/Kconfig
	drivers/input/touchscreen/Makefile
	drivers/input/touchscreen/sweep2wake.c
	drivers/input/touchscreen/touch_synaptics.c
	drivers/input/touchscreen/touch_synaptics_ds5.c
	drivers/video/msm/mdss/mdss_dsi_panel.c

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>
Add doubletap to wake to defconfig
hammerhead: Lower backlight current and brightness