kernel/sys: cpuquiet compatibility fixup

Change-Id: I6af61aee8df5fe2de07c40b7711fd8cbf44ca6f7
ARM: tegra: cpuquiet: Notify the cpuquiet governor when the driver is busy

Added generic busy/free notifiers that the driver can invoke to let the
governor know that it cannot process further core online/offline
requests (invoked in our case whenever we switch to the LP cluster).

Change-Id: I5e3f7f28f38806a7f87050e8d0c8d2f2cf7521aa
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>

Conflicts:
	arch/arm/mach-tegra/cpuquiet.c
ARM: tegra: cpuquiet: Fix cpuquiet notifiers

The notifiers now properly fire on every cluster switch

Change-Id: I381301cf62f25b49532326cc7759696c7f6797b7
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
cpuquiet: Runnable threads governor

[perf] The runnable threads governor only looks at the average number of
runnables in the system to make a decision when bringing cores
offline/online. First pass; tweaks thresholds and delays to reduce
decision latency to about ~50-70ms per core (from ~100-150ms per core)

Change-Id: Idd3b268a74a8f56ad3fc0e5c7f388174d1b6611f
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
cpuquiet: Add notifiers for the runnables governor

The governor stops sampling whenever the device is busy and starts its
sampling loop when the device is free.

Change-Id: I6b4dae94a60f8091d34400028a8d1f58faa51380
Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com>
drivers/cpuquiet/governors/runnable_threads: fix typo derp
drivers/cpuquiet/governors: make balanced as default governor
board/cpu-tegra3: make runnable thread as a compilation option

Conflicts:
	arch/arm/mach-tegra/cpu-tegra3.c

Change-Id: I6901002cdc792877651137fa5588ca7e0dd86bed
cpuquiet/governors/balanced: make runnable thread as a compilation option
board/cpu-tegra3: Additional runnable threat edits necessary for compilation option

Change-Id: I1fa2fab02582e987314ae7e23342c09c78d042af
cardhu: Update defconfig
Cpuquiet stuff
Fix my cpuquiet derp