Add Francisco Franco's  custom Hotplug driver.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: thanks to @showp-1984 tip the lcd callback is blocking so calling the void suspend/resume freqs that I had would just block the whole system and had to hard reset (this happened specifically if I called cpu_down(cpu_nr)). Scheduling works inside the notifier does work and the system doesn't get blocked anymore.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: touchboost during wake-up.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: fix an annoying lag in the CRT animation when screening off.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: queue the screen on/off works to a dedicated workqueue instead of pushing them to the global system queue. Also increase the minimum online time of a CPU from 1 second to 2 second.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: uload_stats functionality is now in this driver and now it uses the generic get_cpu_idle_time from cpufreq.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Temporarily remove suspend_frequency, it seems some users are experiencing audio stutter on screen off if theres a connectivity change eg. Wi-Fi powering up or 2G to 3G.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: read the policy contents every get_cpu_load() call

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: add a mode to online all cores if the GPU busy count is very high for at least 8-10 consecutive seconds.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: disable gpu_busy_quad_mode by default.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
mako_hotplug: cleanups and code improvements to do less calls when there's no need for.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
mako_hotplug: fix a bug where if timestamp was not initialized with jiffies then the cpu_smash() would not offline cpus until jiffies caught up. Also use the stantard API to timer check if its after jiffies or not.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
mako_hotplug: make a separate delayed work for when the device is sleeping, but wakelocked, and the device needs extra work that only one core can't withstand, for example listening to music and the GSM network changes from 2G to 3G or vice-versa, or Wi-Fi going up/down. Previous of this patch it would stutter the audio. With this separate work it will online cpu1 if the load justifies and so audio stutters are no more.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Revert "mako_hotplug: make a separate delayed work for when the device is sleeping, but wakelocked, and the device needs extra work that only one core can't withstand, for example listening to music and the GSM network changes from 2G to 3G or vice-versa, or Wi-Fi going up/down. Previous of this patch it would stutter the audio. With this separate work it will online cpu1 if the load justifies and so audio stutters are no more."

 * This caused the watchdog to bark because the msm pm driver doesn't particulary enjoy when I online a core during power collapse.

This reverts commit bde7929ff1c692dd494e3cbce6b97aadfdf05d12.
mako_hotplug: do not offline a cpu that is above a certain freq threshold even if the system load is lowerthan the threshold, instead block the offline work and do not the cpu to be unplugged for at least 500ms.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
Revert "Revert "mako_hotplug: make a separate delayed work for when the device is sleeping, but wakelocked, and the device needs extra work that only one core can't withstand, for example listening to music and the GSM network changes from 2G to 3G or vice-versa, or Wi-Fi going up/down. Previous of this patch it would stutter the audio. With this separate work it will online cpu1 if the load justifies and so audio stutters are no more.""

This reverts commit ded2d3dd0b07e0758db6e3992ed9e41f0c58042d.