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/board-htc-8974.c

Conflicts:
	arch/arm/mach-msm/board-8226.c
	arch/arm/mach-msm/board_kcal.c
	arch/arm/mach-msm/include/mach/kcal.h
	arch/arm/mach-msm/kcal_ctrl.c
a
revert cherry-pick... new try :D
drivers/usb/gadget/Kconfig:881:warning: defaults for choice values

not supported

Change-Id: I597f88f7001dfbdb8a61bdee263e626b327a5d36
LCD_KCAL: Color control driver for Moto G

Change-Id: Ie529f3ee28926810affed0825510e4395e4bb764
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/board-htc-8974.c
LCD_KCAL: Prevent out-of-range input values
initial s2w dt2w code import from @showp1984

Signed-off-by: Paul Reioux <reioux@gmail.com>
sweep2wake/doubletap2wake: adapt for falcon_umts (aka Moto G)

Signed-off-by: Paul Reioux <reioux@gmail.com>
mdss:mdss_dsi_panel.c: add s2wake/dt2wake screen on/off hooks

Signed-off-by: Paul Reioux <reioux@gmail.com>
ARM: use -mcpu=cortex-a7 when targeting MSM8226 CPUs (Cortex-A7 based)

this is done in order to force compliant GCC compiler to generate the new
sdiv/udiv instructions supported by Cortex-A7 architecture

Signed-off-by: Paul Reioux <reioux@gmail.com>
s2w: remove all s2sonly code
s2w: Add bidirectional sweep2sleep
sweep2dim: reduce/raise kcal via sweep2sleep gestures

User configurable left->right swipe (brighten) power
sysfs paths:
/sys/module/sweep2wake/parameters/s2d_enabled
/sys/module/sweep2wake/parameters/up_kcal
/sys/module/sweep2wake/parameters/down_kcal

User must disable s2w/s2s while using. Great for insta-privacy if you set the up/down_kcal to 255 or higher :D
Disable sweep2wake:
echo "0" /sys/android_touch/sweep2wake
s2d: send kcal through new function
also turn off display if kcal is <= 0
s2d: Don't send kcal if we're turning off display, or if we're max.
s2d: Record original kcal, if it's max, do not update.
s2d: adaptions
s2d: Update kcal to 255/255/255 if we're going down
s2d: dont flag the kcal boost if we're writing it later on anyway