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
cpufreq: CPU max. hardlimit v2.0 (Yank555.lu)

This has grown from a simply OC max control thingy to a full cpufreq control driver, hence the need to review the whole sysfs interface

- added CPU min screen on / off control
- added userspace DVFS lock (prevent scaling min/max changes through sysfs)
- completely new sysfs interface
- lagacy sysfs interface can be kept for compatibily (but without CPU min support, though)

New SysFs Interface :

 * /sys/kernel/cpufreq_hardlimit/scaling_max_freq_screen_on (rw)
 *
 *   set or show the real hard CPU max frequency limit when screen is on
 *
 * /sys/kernel/cpufreq_hardlimit/scaling_max_freq_screen_off (rw)
 *
 *   set or show the real hard CPU max frequency limit when screen is off
 *
 * /sys/kernel/cpufreq_hardlimit/scaling_min_freq_screen_on (rw)
 *
 *   set or show the real hard CPU min frequency limit when screen is on
 *
 * /sys/kernel/cpufreq_hardlimit/scaling_min_freq_screen_off (rw)
 *
 *   set or show the real hard CPU min frequency limit when screen is off
 *
 * /sys/kernel/cpufreq_hardlimit/wakeup_kick_freq (rw)
 *
 *   set or show the wakeup kick frequency (scaling_min for delay time)
 *
 * /sys/kernel/cpufreq_hardlimit/wakeup_kick_delay (rw)
 *
 *   set or show the wakeup kick duration (in ms)
 *
 * /sys/kernel/cpufreq_hardlimit/touchboost_lo_freq (rw)
 *
 *   set or show touchboost low frequency
 *
 * /sys/kernel/cpufreq_hardlimit/touchboost_hi_freq (rw)
 *
 *   set or show touchboost high frequency
 *
 * /sys/kernel/cpufreq_hardlimit/userspace_dvfs_lock (rw)
 *
 *   0 = allow changes to scaling min/max
 *   1 = ignore (don't apply, but don't return an error)
 *   2 = refuse (don't apply, return EINVAL)
 *
 * /sys/kernel/cpufreq_hardlimit/available_frequencies (ro)
 *
 *   display list of available CPU frequencies for convenience
 *
 * /sys/kernel/cpufreq_hardlimit/current_limit_max (ro)
 *
 *   display current applied hardlimit for CPU max
 *
 * /sys/kernel/cpufreq_hardlimit/current_limit_min (ro)
 *
 *   display current applied hardlimit for CPU min
 *
 * /sys/kernel/cpufreq_hardlimit/version (ro)
 *
 *   display CPU freq hard limit version information

Legacy SysFs Interface :

 * /sys/kernel/cpufreq/hardlimit (rw)
 *
 *   set or show the real hard CPU frequency limit when screen is on
 *
 * /sys/kernel/cpufreq/hardlimit_screen_off (rw)
 *
 *   set or show the real hard CPU frequency limit when screen is off
 *
 * /sys/kernel/cpufreq/wakeup_kick_freq (rw)
 *
 *   set or show the wakeup kick frequency (scaling_min for delay time)
 *
 * /sys/kernel/cpufreq/wakeup_kick_delay (rw)
 *
 *   set or show the wakeup kick duration (in ms)
 *
 * /sys/kernel/cpufreq/touchboost_lo_freq (rw)
 *
 *   set or show touchboost low frequency
 *
 * /sys/kernel/cpufreq/touchboost_hi_freq (rw)
 *
 *   set or show touchboost high frequency
 *
 * /sys/kernel/cpufreq/available_frequencies (ro)
 *
 *   display list of available CPU frequencies for convenience
 *
 * /sys/kernel/cpufreq/current_limit_max (ro)
 *
 *   display current applied hardlimit for CPU max
 *
 * /sys/kernel/cpufreq/current_limit_min (ro)
 *
 *   display current applied hardlimit for CPU min
 *
 * /sys/kernel/cpufreq/version (ro)
 *
 *   display CPU freq hard limit version information
cpufreq: CPU max. hardlimit v2.0a (Yank555.lu)

- fixed wakeup_kick_freq must be between screen on min and max (instead of screen on max and screen off max)

Thanx to zancum for reporting this !

New SysFs Interface :

* /sys/kernel/cpufreq_hardlimit/scaling_max_freq_screen_on (rw)
*
* set or show the real hard CPU max frequency limit when screen is on
*
* /sys/kernel/cpufreq_hardlimit/scaling_max_freq_screen_off (rw)
*
* set or show the real hard CPU max frequency limit when screen is off
*
* /sys/kernel/cpufreq_hardlimit/scaling_min_freq_screen_on (rw)
*
* set or show the real hard CPU min frequency limit when screen is on
*
* /sys/kernel/cpufreq_hardlimit/scaling_min_freq_screen_off (rw)
*
* set or show the real hard CPU min frequency limit when screen is off
*
* /sys/kernel/cpufreq_hardlimit/wakeup_kick_freq (rw)
*
* set or show the wakeup kick frequency (scaling_min for delay time)
*
* /sys/kernel/cpufreq_hardlimit/wakeup_kick_delay (rw)
*
* set or show the wakeup kick duration (in ms)
*
* /sys/kernel/cpufreq_hardlimit/touchboost_lo_freq (rw)
*
* set or show touchboost low frequency
*
* /sys/kernel/cpufreq_hardlimit/touchboost_hi_freq (rw)
*
* set or show touchboost high frequency
*
* /sys/kernel/cpufreq_hardlimit/userspace_dvfs_lock (rw)
*
* 0 = allow changes to scaling min/max
* 1 = ignore (don't apply, but don't return an error)
* 2 = refuse (don't apply, return EINVAL)
*
* /sys/kernel/cpufreq_hardlimit/available_frequencies (ro)
*
* display list of available CPU frequencies for convenience
*
* /sys/kernel/cpufreq_hardlimit/current_limit_max (ro)
*
* display current applied hardlimit for CPU max
*
* /sys/kernel/cpufreq_hardlimit/current_limit_min (ro)
*
* display current applied hardlimit for CPU min
*
* /sys/kernel/cpufreq_hardlimit/version (ro)
*
* display CPU freq hard limit version information
Forced Fast Charge for Samsung Note 3 v1.2 by Yank555.lu

- added support for wireless charger

SysFS interface :

 * /sys/kernel/fast_charge/force_fast_charge (rw)
 *
 *   0 - disabled (default)
 *   1 - substitute AC to USB
 *   2 - use custom mA configured through sysfs interface (see below)
 *
 * /sys/kernel/fast_charge/ac_charge_level (rw)
 *
 *   rate at which to charge when on AC (1.0A/h to 2.1A/h)
 *
 * /sys/kernel/fast_charge/usb_charge_level (r/w)
 *
 *   rate at which to charge when on USB (0.460A/h to 1.0A/h)
 *
 * /sys/kernel/fast_charge/wireless_charge_level (r/w)
 *
 *   rate at which to charge when on WIRELESS (0.650A/h to 1.2A/h)
 *
 * /sys/kernel/fast_charge/failsafe (rw)
 *
 *   0 - disabled - allow anything up to 2.1A/h to be used as AC / USB custom current
 *   1 - enabled  - behaviour as described above (default)
 *
 * /sys/kernel/fast_charge/ac_levels (ro)
 *
 *   display available levels for AC (for failsafe enabled mode)
 *
 * /sys/kernel/fast_charge/usb_levels (ro)
 *
 *   display available levels for USB (for failsafe enabled mode)
 *
 * /sys/kernel/fast_charge/wireless_levels (ro)
 *
 *   display available levels for WIRELESS (for failsafe enabled mode)
 *
 * /sys/kernel/fast_charge/version (ro)
 *
 *   display fast charge version information
 *
 * /sys/kernel/fast_charge/info (ro)
 *
 *   display complete fast charge configuration in human readable format
faux123/yank555.lu U7 KK 001b1 config
sched/cpuidle: reduce IPI store. Backport upstream 3.16 scheduler updates

Signed-off-by: Paul Reioux <reioux@gmail.com>
Revert "scheduler: Re-compute time-average nr_running on read"

This reverts commit cc713f0f701c38dfd3512655e5237e6330112ca0.
Revert "proc: enhance time-average nr_running stats"

This reverts commit e95a97db5678052ba67b5ae4e50fbd8459186bdc.
Revert "scheduler: compute time-average nr_running per run-queue"

This reverts commit 7bff574c27b7b582f09431d8bbf64f1361264142.
intelli_plug: refactor stats calculation code to be less intrusive

this is done for those kernels which do not have 100% source code available
and must use existing closed source modules such as wifi drivers

Signed-off-by: Paul Reioux <reioux@gmail.com>
Intelli_plug: add wakeup cpufreq boost for quicker wakeup

bump version to 2.4

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: add screen off max controls

bump to version 2.5

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: add parameter to control touch boost on/off

bump version to 2.6

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: add profiles support and misc code optimization

bump to version 3.0

Signed-off-by: Paul Reioux <reioux@gmail.com>
Intelli_plug: kernel sched/core: add per cpu nr_running stats

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: use per cpu nr_runnings stats for unplugging cores

bump version to 3.1

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: allow cpu_nr_running_threshold to be user adjustable

bump version to 3.2

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: tweak cpu_nr_running threshold

and fix minor logic issues

Signed-off-by: Paul Reioux <reioux@gmail.com>
intellidemand: updated to version 5.5

Signed-off-by: Paul Reioux <reioux@gmail.com>
intellidemand: tweak default settings for MSM8974 SOCs

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