cpufreq: intelliactive: initial coding and introduction!

intelliactive is based on Latest Google Interactive cpufreq governor from
Google.  The original Interactive provides smooth UI operations but suffers
slight battery drain due to its aggressive policies.  Intelliactive is an
improvement built on top of it.

It has the following enhancements added:
1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to
   max freq
3. Checks for offline cpus and short circuits some unnecessary checks to
   improve code execution paths
4. removed trace calls

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

Conflicts:
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile
	include/linux/cpufreq.h

	modified:   drivers/cpufreq/Kconfig
	modified:   drivers/cpufreq/Makefile
	new file:   drivers/cpufreq/cpufreq_intelliactive.c
	modified:   include/linux/cpufreq.h
cpufreq: intelliactive: adjust tunables for MSM8226 devices

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelliactive: fix race condition when unregistering input handlers

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelliactive: make touch boost interface generic

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

Conflicts:
	drivers/cpufreq/cpufreq_intelliactive.c
intelliactive: add upstream patches

Signed-off-by: Paul Reioux <reioux@gmail.com>
drivers/cpufreq/cpufreq_intelliactive.c: GCC 4.9.x warning fix up

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelliactive: rework input register/unregister

Signed-off-by: Paul Reioux <reioux@gmail.com>
add intelliactive gov
	modified:   arch/arm/configs/msm8226_mmi_defconfig