powersuspend: new PM kernel driver for Android w/o early_suspend

Android early_suspend/late_resume PM kernel driver framework has been
deprecated by Google. This new powersuspend PM kernel driver is a replacement
for it and existing early_suspend drivers can be easily adapted to use this
new replacement driver

Signed-off-by: Paul Reioux <reioux@gmail.com>

powersuspend: fix logci derps :p

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
kernel/power/powersuspend: remove userspace dependency from powersuspend

make powersuspend not depend on a userspace initiator anymore, but use a hook
in autosleep instead.

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
kernel/power/powersuspend: add back userpace control w/ default kernel control

make kernel / userspace mode switchable

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
def: add powersuspend
msm: thermal: add my cleaned up in-kernel driver

 * mostly copy-pasta from the N5
 * thermal-engine daemon is disabled in userspace
 * users can now ajudst the thermal throttle point in sysfs
 * well... it's clean :)
 * stability test responds very well and the device doesn't
heat up too much. On stock thermal solution the device rapidly
reached un-bearable temperature on the back (running stability test)
due to it's weird throttling mechanics (at least from what we can
observe since the code is proprietary) and doesn't cool down easily.
With this solution that doesn't happen.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
msm: thermal: fix init with msm_thermal

 * not using ioctl interface for this in-kernel solution
so prevent msm_thermal-dev to be built
 * use higher frequency points than my N5 driver because
Bacon rarely gets really hot so we don't need to throttle
as heavy
 * re-structure init->register<->exit flow compared to the
N5 code. We don't rely on board init call anymore. Besides
externs are fugly. The rest is on the msm_thermal merge side

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
lm3630_bl: Backlight external control v1.0

Control suspend/resume events via external hooks to functions in LM3630 backlight driver.

'hooks' for this version are in the status function of the
TI LM3630 backlight driver for One Plus One devices (drivers/video/backlight/lm3630_bl.c)
check out linux/backlight_ext_control.h file for more details

All credits to ZaneZam !!

Credits to andip71 (aka Lord Boeffla) for original concept
dyn_fsync: add version 1.6
fs/dyn_sync_cntrl: dynamic sync control 1.7 for OPO

Changes:
- default status of dynamic fsync is off instead of on
  (it will now be enabled during kernel startup in the start script)
def: add dyn_fsync and backlight control
dts: gpu: add freq steps