cpufreq: intelliactive: initial coding and introduction!

intelliactive is based on Latest Google Interactive cpufreq governor from
Google.  The original Interactive provides smooth UI operations but suffers
slight battery drain due to its aggressive policies.  Intelliactive is an
improvement built on top of it.

It has the following enhancements added:
1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to
   max freq
3. Checks for offline cpus and short circuits some unnecessary checks to
   improve code execution paths
4. removed trace calls

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelliactive: fix race condition when unregistering input handlers

Signed-off-by: Paul Reioux <reioux@gmail.com>
cpufreq: intelliactive: Change hispeed_freq to 1497600
intelliactive: add upstream patches

Signed-off-by: Paul Reioux <reioux@gmail.com>
drivers/cpufreq/cpufreq_intelliactive.c: fixwarning: operation on 'ret' may be undefined [-Wsequence-point]

Signed-off-by: Hieu Phan <aznrice2k4@gmail.com>
cpufreq: cpu-boost: Enable load based sync
cpufreq: intelliactive: Set hispeed_freq to 1190400
cpufreq: interactive: Tune some values
config: Enable inteliactive and make it default
cpufreq: ondemand: Tweak some values
cpufreq: intelliactive: Remove unnecessary cpu_online() check

Cpufreq no longer calls governor callback for offlined cpus. i.e. All
policy->cpus are guaranteed to be online. Hence we don't need explicit check to
see if cpu is online or not.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
cpufreq: intelliactive: Optimize sync_freq implementation

Don't let frequency drop below sync_freq if either load or
frequency among other cpus is above a certain threshold,
not necessarily both.

by myfluxi