msm: Add CPU freq limiter driver

* When enabled, it will override max frequency on
  resume/suspend events and when explicitly set by user.
* When enabled, it will override min frequency on
  suspend event and when explicitly set by user.
* Enabled by default.
* Interface is generated here: /sys/kernel/msm_limiter

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Conflicts:
	arch/arm/mach-msm/Kconfig
	arch/arm/mach-msm/Makefile
msm: limiter: Introduce initial multi cpu control

* This extends current functionality of the driver
  to save min/max freq for each core.
* Disabled by default.
* CPU0 is master boot core for 3.4 kernel and user
  should not reduce max freq of this core more than
  half of range.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
cpufreq: Add interface for gov change

* Interface can be used by drivers to change gov.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: limiter: Add controls for per cpu governor

* Requires hooks in CPUFREQ driver.
* Works without limiter enabled.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
allow all hotplug/cpufreqs to get cpu utilization

Conflicts:
	drivers/cpufreq/cpufreq.c
fixes for cpu utilization
cpufreq: Add interface to set/get min/max freq

* Interface similar to that for setting governor.
* Interface can be used by drivers to change/get
  min/max freq per cpu.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>