cpufreq: interactive: Initialize spinlocks

These were missing in commit 8fbac318173082918312d6a4ceacf63376797c52,
"cpufreq: interactive: Use frequency dependent per cpu timings".

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Blechd0se <alex.christ@hotmail.de>
cpufreq: implement cpufreq_quick_get_util()

Just gives us the last load known to the current cpu
governor with a much smaller overhead.

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
cpufreq: Introduce new relation for freq selection

Introduce CPUFREQ_RELATION_C for frequency selection.
It selects the frequency with the minimum euclidean distance
to target. In case of equal distance between 2 frequencies,
it will select the greater freq.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Blechd0se <alex.christ@hotmail.de>
cpufreq: interactive/performance: expose cpu load

Expose the current cpu load to the cpufreq driver so we
can actually work with it. Small cleanups here and there
as well.

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
cpufreq: interactive: change and optimize load calculation

this governor is fundamentally different from Ondemand and by norm its a bit more sensitive to load changes in terms of which freqs are chosen, but even though sometimes it can be a little stupid and non react to load changes that linearly as one could hope for (even though it's better than Ondemand) so for that reason let's try to use this new formula by @stratosk found in this commit: https://github.com/stratosk/kernel_msm/commit/9df03b662b9c213c75ac082138f5ab8afadb9d94 make sure you read his commit message for better understanding of this.

[Blechd0se: Fixed code styling issues and removed useless stuff
inside the governor. Commit cleanups]

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Signed-off-by: Blechd0se <alex.christ@hotmail.de>

Conflicts:
	drivers/cpufreq/cpufreq_interactive.c
hotplug: switch to cpufreq_quick_get_util()

This changes quite a few things inside the hotplug driver;
 * the driver itself now uses the cpufreq_quick_get_util() function
   to quickly get the last reported load known to the cpu governor,
   which should in return lower the overhead created by this driver

 * introducing a new "low latency" mode where the driver will react
   very quickly to load spikes and online cores accordingly.

Signed-off-by: Blechd0se <alex.christ@hotmail.de>