msm: hotplug: Add MSM Hotplug driver

Change-Id: Ia7cf04299b2147edb804a020aeafc56ae501001f
msm: hotplug: Remove spinlock in load stats

It's too expensive and not nessecary.
msm: hotplug: Stop hotplug work a tad later
msm: hotplug: Schedule suspend/resume work

Dennis is right, this is the proper way to suspend and resume.
hammerhead: touch: Remove touch boost

Revert "cpufreq: conservative: Boost all online cpus"

This reverts commit 3d2675da0500e4e9cd94de66f657790ca5e26467.

Revert "hammerhead: touch: Simple method of boosting cpu frequency on touch"

This reverts commit 2f25573cc2924e62d222f4fbd7a976121858dce2.

Conflicts:
	drivers/cpufreq/cpufreq_conservative.c
	drivers/cpufreq/cpufreq_interactive.c
	drivers/input/touchscreen/touch_synaptics_ds5.c
	include/linux/cpufreq.h
	include/linux/input/touch_synaptics.h

Change-Id: Id292777653223125510f1857b0ca18b8635fcfd4
msm: hotplug: Increase down lock duration and janitize

Conflicts:
	arch/arm/mach-msm/msm_hotplug.c
msm: hotplug: Use high-priority workqueue
msm: hotplug: Add input boost handler

Add an input handler to hotplug additional cpus. Down lock will
take care of keeping the cpu boosted.
msm: hotplug: Add minimum interval for input boost
msm: hotplug: Remove deprecated msm_cpufreq_set_freq_limits
msm: hotplug: Cleanup hotplugging routines

Remove paroid atomic operations that were causing issues.
cpufreq: add new routine cpufreq_verify_within_cpu_limits()

Most of the users of cpufreq_verify_within_limits() calls it for
limiting with min/max from policy->cpuinfo. We can make that code
simple by introducing another routine which will do this for them
automatically.

This patch adds another routine cpufreq_verify_within_cpu_limits()
and updates others to use it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Conflicts:
	drivers/cpufreq/freq_table.c

Change-Id: I258d045cd476647b7f6f58b92ae4735964ae2b4a
msm: hotplug: Optimize hotplugging routines

- Power down the slowest cpu
- Move checks from callback to calling function
- Clean it up a bit
msm: hotplug: Add pm ops
msm: hotplug: Fix symbol export
msm: hotplug: Fixup sysfs interface

* Use proper return values
* Fix store_down_lock_duration()
* Add some more checks
* Cleanup some mess
msm: hotplug: Update threshold values and down lock duration

* Power up additional cpus earlier
* Power down cpus later
* Keep cpus online at least 5 seconds
msm: hotplug: Revert to original thresholds
msm: hotplug: Consider load instead of frequency for slowest cpu
msm: hotplug: Protect load stats routine and cleanup