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/Makefile
	include/linux/cpufreq.h

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

Change-Id: I18f80de6c6cebc3a12069d834c331e811a72f411

intelliactive: tune for APQ8064 devices

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

Change-Id: I18f80de6c6cebc3a12069d834c331e811a72f412

intelliactive: add Nexus 7 touch input boost

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

Change-Id: I18f80de6c6cebc3a12069d834c331e811a72f413

intelliactive: fix race condition when unregistering input handlers

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

Change-Id: I18f80de6c6cebc3a12069d834c331e811a72f414

intelliactive: add upstream patches

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

Change-Id: I18f80de6c6cebc3a12069d834c331e811a72f415

intelliactive: make touch boost interface generic

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

Conflicts:
	drivers/cpufreq/cpufreq_intelliactive.c

Change-Id: I18f80de6c6cebc3a12069d834c331e811a72f416

Flo: Add Intelliactive CPU governor

Change-Id: I4d8304c4888d4efe2185c9aa9421622c8bec0af5

intelliactive: rework input register/unregister

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

Change-Id: I4d8304c4888d4efe2185c9aa9421622c8bec0af6