intelli_active: Squashed commits

Credits to Paul Reioux aka faux123

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

Change-Id: Icb1a0daceca3a5a8b7b0d869ae7cc456c3f0c0ed

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>