intelli/msm_thermal: initial coding for Qualcomm Snapdragon 800 devices

an intelligent MSM thermal throttling kernel driver designed to replace the
closed sourced thermald(aemon) from Qualcomm.

The current driver can throttle the SOC via core frequency scaling or via
core hotplug with user configurable sysfs entries to adjust the throttling
temperature thresholds for each.

Derived from Qualcomm's Open source repo.

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

Conflicts:

	arch/arm/mach-msm/lge/board-8974-hammerhead.c

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

Conflicts:
	drivers/thermal/Makefile
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>

Conflicts:
	arch/arm/mach-msm/board-8226.c
	drivers/thermal/Makefile
msm: kgsl: show current power level for 8974 SOCs.

since 8974 uses duplicate frequencies in its table, it's not possible to tell
which of the duplicates is actually in use

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
board-8226: initialize intelli_thermal engine

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
intelli-thermal: fix board 8226 merge error

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
intelli-thermal: use its own dedicated workqueue

this should reduce the load on the shared global workqueue for other
processes and also give its own unique variable name for cpu limit

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
intelli-thermal: increase sampling time to reduce sampling overhead

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
drivers/thermal/Kconfig: fix default prompt error

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
intelli_thermal: compatibility fixup with latest msm_thermal driver

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
intelli-thermal v2: initial adaptation

Intellithermal 2.0 is based on the latest Qualcomm thermal driver adapted for
in-kernel use and control.  Newer MSM8974+ chipsets should use this driver
going forward

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>

Conflicts:
	drivers/thermal/Makefile
intellithermal v2: adapt for MSM8226 architecture

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: klozz <xxx.reptar.rawrr.xxx@gmail.com>
Intelithermal V2 building fix
cpufreq: intelliminmax cpu governor baseline commit

intelliminmax (intellimm) governor is designed to work
with the newer SOCs with fixed voltage rails (ie MSM8974+ SOCs).
It is designed to work within those fixed voltage ranges in
order to maximize battery performance while creating a smooth UI
operations.

[neo: Adjust get_cpu_idle_time define to match our gov structure.]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Conflicts:
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile
	include/linux/cpufreq.h
cpufreq: intelliminmax: Tune it further

* Set more freqs
* Cleaned 80 char lines
* Renamed optimal_freq as default ROM MP mod that value to some crap.
no matter what gov
* Split upthresholds

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
intellimm: fully sync w/dorimanx
Tune IntelliMM
More IntelliMM tuning
Add IntellithermalV2 to defconfig
Fix IntelliMinMax