Makefile: Use cortext-a9 compile cpu flag
arm: Add auto hotplug driver
arm: auto hotplug - wrap all pr_info into the existing debug mode so we
auto_hotplug: enhancements

1) added module params so tuning an be adjusted in userspace and
debugging can easliy be enabled/disabled

/sys/module/auto_hotplug/parameters/debug
(N/Y - turn off/on debugging)

/sys/module/auto_hotplug/parameters/disable_load_threshold
(integer - load at which a CPU is disabled)

/sys/module/auto_hotplug/parameters/enable_load_threshold (integer -
load at which an extra CPU is enabled)

/sys/module/auto_hotplug/parameters/enable_all_load_threshold (integer -
load at wich all CPU's are enabled)

/sys/module/auto_hotplug/parameters/min_sampling_rate
(milliseconds, converted to jiffies at runtime)

2) lowered enable_load_threshold from 225 to 200 for a little more pep.

To-do: add get/set routines to keep values safe and in acceptable ranges
auto_hotplug: enhancements (rev 2)

1) Added ability to change the number of sampling_periods on the fly via
sysfs (while preserving past history).

2) Added get/set for module parameters so user's can't set incorrect or
unreasonable values.

3) Tweaked defaults

4) Don't wait as long to start auto_hotplug (referenced franco's
git). Today's devices are much faster to boot however
if this code is ported to a slower core device, it may need to be
raised.

5) Debug mode tweaks
-Organize and reduce the number of line output.
-Attempt to make output more user friendly for those that aren't
reading the code.
auto_hotplug: enable the min_online_cpus value

Use a module_param_cb to set the minimum number of online CPUs when the
screen is on.

The values are between 1-4.

usage:
echo '1' < /sys/module/auto_hotplug/parameters/min_online_cpus
auto_hotplug: enhancements (rev 3)

1) Added max_online_cpus (1-4) and exposed to sysfs via a module
parameter. Once set, only allow the chosen number of cores to be
online and make sure we compensate for it in the boostpulse function.

2) Make minor tweaks to mathkid's min_online_cpus

-Don't schedule work in the parameter set, just let it be done on the
next poll iteration.

-Misc style changes so that it matches the other code I have been
adding the module.
auto_hotplug: parameter validation for max_online_cpus

If validation fails, set max_online_cpus = CPUS_AVAILABLE instead of "1"
auto_hotplug: stack the deck on auto_hotplug_late_resume to get things

moving quickly again
auto_hotplug: rev 4 - let's lean a little more towards performance.

This includes:

1) Set DEFAULT_SAMPLING_PERIODS back to 10 (from 12)

2) Set DEFAULT_ENABLE_ALL_LOAD_THRESHOLD to (100 * CPUS)

3) Finally came back and fixed "stack the deck" like I had originally
intended after the quick test.

4) Updated to revision to 4.
Change dependencies to allow kernel to be built with ARM hotplug,

and without MSM_RUN_QUEUE_STATS. These are only needed for proprietary
mpdecision.
auto_hotplug: Add suspend frequency, Tuning some parameters
cpufreq: interactive: marry governor boostpulse with auto_hotplug boo…

…stpulse.

Limit boosted cores to 2 since that matches with what auto_hotplug
boostpulse brings online. We will boost no more than 2 cores.

Also tweaked some other defaults

Original patch by _motley.
REF:
https://github.com/motley-git/kernel-Nexus4/commit/009f418681e3df86ebcba
d08b967d08178217f5d

Conflicts: drivers/cpufreq/cpufreq_interactive.c
mako_ak_defconfig: Enable AUTO_HOTPLUG
msm8960_tsens: enable all thermal devices

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts: drivers/thermal/msm8960_tsens.c
msm thermal: enhancements

1) Smart polling based on temp (poll slower when cooler, faster when
warmer).

2) Added low frequency index so we don't throttle too low and kill
performance. When warming normally (throttle temp is reached) it will
step down by the freq_step until back under control. The lowest
frequency step possible is the specified by the low freq index.

3) Added throttle max (hardcoded at 80C). If it reaches the
throttle max, it will immediately throttle down to the min_freq_index
instead of stepping down 2 frequency steps at a time like when it hits
the throttle temp.

4) Added tuneables

/sys/module/msm_thermal/parameters/throttle_temp
/sys/module/msm_thermal/parameters/min_freq_index
/sys/module/msm_thermal/parameters/thermal_debug