TouchWake implementation v1.4b (Yank555.lu)
and enabled touchwake in defconfig

- finger and pen working
- call detection working through proximity sensor detection
- use of wakelock is optional (sysfs switchable)
- fixed for CM11 ROMs
- reviewed digitizer handling

What's new :

- don't use proxy sensor state when suspending to decide whether or not to enable touchwake & small fixes

SysFs interface :

* /sys/class/misc/touchwake/enabled (rw) : 1 - on / 0 - off
*
* Enable / Disable TouchWake (default = disabled)
*
* NB: Turning the device off with the power key will disable touchwake
*
* /sys/class/misc/touchwake/delay (rw) :
*
* Sets the delay in ms to keep touchscreen / pen actively listening for touch after screen goes off
*
* NB: A value of 0 equals "infinite", will drain battery !
*
* /sys/class/misc/touchwake/proximity_threshold (rw) :
*
* Sets the threshold from which to consider the proximity sensor triggered (which will disable touchwake)
*
* NB: This serves as a kind of in-call detection to not turn the screen on during a call when placing
* the device to the ear
*
* /sys/class/misc/touchwake/use_wakelock (rw) : 1 - on / 0 - off
*
* Enable / Disable using a wakelock to keep device awake while TouchWake is active (default = enabled)
*
* /sys/class/misc/touchwake/version (ro) :
*
* Display the current version of TouchWake
*
* /sys/class/misc/touchwake/debug (ro) :
*
* Display debugging info (only if debugging is active at compilation time)
gpio_keys: flip cover wake/suspend event (arter97/Yank555.lu)

gpio_keys: flip cover wake/suspend event - big code review (arter97/Yank555.lu)

gpio_keys: handle all kinds of hectic flipcover action by nervous users when powersuspend is present (Yank555.lu)

- big code review
- debugging prints added (switchable)

gpio_keys: add a semaphore so powerkey action never happen more than once at the same time (Yank555.lu)

- use shorter delay between press & release

gpio_keys: remove filesystem sync, dynamic fsync already handles this (Yank555.lu)

gpio_keys: fix typo during flip_powerkey registration
input_register_device() returns 1 on errors, not 0

gpio_keys: add flip cover wake/suspend event (arter97)

AOSP doesn't take care of flip covers.

Let make it aware from the kernel side.

gpio_keys: fix registration order

gpio-keys must be in /sys/class/input/input18,
flip_powerkey must be in /sys/class/input/input19

for device/samsung/hlte/power/power_ext.c to properly suspend GPIO_KEYS_POWER.

Re-order registration(flip_powerkey after gpio-keys).

gpio_keys: return early when flip_cover == gpio_flip_cover

This prevents ghost turn-off or turn-on
when there really wasn't a flip-cover event changed,
but flip_cover_work() is just called.

To prevent this, compare ddata->flip_cover with gpio_get_value(ddata->gpio_flip_cover)
and proceed only on when those datas are different.

gpio_keys: add flip cover wake/suspend event (arter97)

AOSP doesn't take care of flip covers.

Let make it aware from the kernel side.

gpio_keys: fix registration order

gpio-keys must be in /sys/class/input/input18,
flip_powerkey must be in /sys/class/input/input19

for device/samsung/hlte/power/power_ext.c to properly suspend GPIO_KEYS_POWER.

Re-order registration(flip_powerkey after gpio-keys).

gpio_keys: return early when flip_cover == gpio_flip_cover

This prevents ghost turn-off or turn-on
when there really wasn't a flip-cover event changed,
but flip_cover_work() is just called.

To prevent this, compare ddata->flip_cover with gpio_get_value(ddata->gpio_flip_cover)
and proceed only on when those datas are different.

gpio_keys: fix typo during flip_powerkey registration
input_register_device() returns 1 on errors, not 0

gpio_keys: remove filesystem sync, dynamic fsync already handles this (Yank555.lu)

gpio_keys: add a semaphore so powerkey action never happen more than once at the same time (Yank555.lu)

- use shorter delay between press & release
mm/zswap: fix compilation issue
LED eXtended ConTRoLs v1.2 (Yank555.lu)

- add possibility to set led off delay to 0 (on notification, LED always on)

SysFs Interface :

 * /sys/class/sec/led/led_intensity : 0 - 255 (100 = stock)
 *
 *     Set the relative intensity of the LED respecting the userspace's request
 *
 * /sys/class/sec/led/led_speed_on  : 1 - 5 (0 = no on time / 1 = stock)
 *
 *     Devider for delayon  (1 - 5 times shorter than requested by userspace)
 *
 * /sys/class/sec/led/led_speed_off  : 0 - 5 (0 = no off time / 1 = stock)
 *
 *     Devider for delayoff (no off time or 1 - 5 times shorter than requested by userspace)
 *
 * /sys/class/sec/led/led_xctrl_version :
 *
 *     Display the current version of the eXtended ConTRoLs
 *
 * /sys/class/sec/led/led_xctrl_info :
 *
 *     Display the current settings in human readable format

LED eXtended ConTRoLs v1.1 (Yank555.lu)

  - Fixes Samsung LED pattern not repecting the user changes

LED eXtended ConTRoLs v1.0 (Yank555.lu)

 - Allow for customized brightness and delayon / delayoff control by user