intelli_plug: refactor stats calculation code to be less intrusive

this is done for those kernels which do not have 100% source code available
and must use existing closed source modules such as wifi drivers

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

Conflicts:
	kernel/sched/core.c

Conflicts:
	kernel/sched/core.c
	kernel/sched/sched.h

Conflicts:
	arch/arm/mach-msm/intelli_plug.c
	kernel/sched/core.c
	kernel/sched/sched.h
Intelli_plug: kernel sched/core: add per cpu nr_running stats

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: remove legacy msm_rq based code

just use the original algorithm based on nr_running_stats

bump version to 3.3

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

Conflicts:
	arch/arm/mach-msm/intelli_plug.c

Conflicts:
	arch/arm/mach-msm/intelli_plug.c
intelli_plug: add nr_running_thresholds based on thread capacity of SOC type

instead of hard coded nr_running_thresholds, perform compile time calculation
of thresholds based on thread capacity of SOC types.

bump version to 3.4

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

Conflicts:
	arch/arm/mach-msm/intelli_plug.c
intelli_plug: move to its own directory. It's been cross platform for a while

intelli_plug driver has been working on OMAP44xx, TEGRA 3, Exynos and
MSM Krait/Cortex multi-core SOCs.  So it doesn't make sense to patch on a per
SOC basis, move it to its own ARM platform independent folder so patches can
apply to all supported ARM platforms

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

Conflicts:
	arch/arm/mach-msm/Kconfig
	arch/arm/mach-msm/Makefile

Conflicts:
	arch/arm/hotplug/intelli_plug.c
	arch/arm/mach-msm/Kconfig
	arch/arm/mach-msm/Makefile
intelli_plug: unify powersuspend and earlysuspend drivers

also minor clean up on the persist logic

bump to version 3.7

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: adjust thread capacity for Cortex A7 SOCs

Cortex A7 is much weaker than Krait processors

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: fix thread capacity threshold calculation

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: fix logic error for eco mode profiles

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: only apply suspend/resume logic if active

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: fix incorrect cpufreq API usage

This resolves the wakeup kick and screen off max issues

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: initialize ip_info struct element during driver init

this will eliminate race issues

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: use primary CPU's info data for non-boot cpu's settings

Async CPU design has caused quite a bit of grief for controlling cpu
frequencies

bump to version 3.8

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: older Qualcomm kernel compatibility fixup

ARGH... really angry at CAF code.

some cpufreq driver APIs are incredibly unstable with some of the older
MSM kernels.  The correct way is the fix the cpufreq drivers, but there are
tons of variations out there, so rather than depending on a fix, make
intelli_plug more universal by avoiding the troubling APIs altogether

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