LCD_KCAL: Prevent out-of-range input values
LCD_KCAL: Introduce configurable kcal_min

Lower values such as 0-10 ultimately create a dark, washed out display, if a user accidently sets their kcal values to "0 0 0" they will loose visual control of the device, potentially requiring a hard reboot.
Introduce minimum kcal values to prevent this behavior.

Willing users can disable this protection by setting the kcal_min value to '0', however the default value of 35 is recommended.

sysfs:
echo "1/255" > /sys/devices/platform/kcal_ctrl.0/kcal_min

kcal_min will detect and block values attempting to set lower than itself, resetting the specific values to that of kcal_min. There is also behavior to adjust the kcal if kcal_min is set to a level higher than that of any kcal value(s).

Conflicts:
	arch/arm/mach-msm/lge/mako/board-mako-display.c
lge_touch_core: 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>
driver/input/touchscreen: add new s2w & dt2w implemenation from hammerhead

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/doubletap2wake: Fix compilation with earlysuspend

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/sweep2wake: Fix compilation with earlysuspend

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/lge_touch_core: Add prevent_sleep functionality

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/lge_touch_core: release all touchscreen events when going to sleep

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/sweep2wake: add mako definitions

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/lge_touch_core: trigger on low and do not suspend the IRQ

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/lge_touch_core: fix ifdef, fixes dt2w without s2w

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/sweep2wake: add flo/deb definitions

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/sweep2wake: if s2s_only is true, opt out early

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
s2w: Remove s2w_s2sonly, replace w/ s2w == '2'
LCD_KCAL: Fix mistake on out-of-range values

This didn't cause any issues, but we don't need to reassign r/g/b again
every time it passes through.
s2w: Add bi-directional sweep2sleep
LCD_KCAL: Change rgb values using sweep2sleep gestures
s2d: update inline with m8/n5/falcon
- assign s2d_enabled to android_touch sysfs
- don't update if any value is 255
- screen off if kcal drops < 1

Conflicts:
	ramdisk/init.furnace.sh
s2d: turn off display if sweep < kcal_min, not 1
sweep2wake: Make S2W bidirectional
Also enable S2W+S2D if S2W = 1 and S2D = 1