FK Interactive Gov Tweaks

Also rm mpd compeletely

Add an extern bool to know if we're using interactive governor or not because my specific touch boost implementation is only for interactive and we don't want some routines to be called if we're not running the correct governor. Ondemand provides its own touch boost code.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>

cpufreq: interactive: simplify some calls and remove a call that calculated load_since_change.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
load_stats: add changes from @reborn90 to overcome the erraneous calculations if the device hits thermal throttle.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
cpufreq: interactive: add tunable to control the touch boost duration.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
cpufreq: interactive: don't check for cpu_online on GOV_START, cpufreq is doing that by itself now. Also rework the new_freq calculations to make sure it scales properly.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
cpufreq: interactive: time for some performance boosts. Touch boost freq is bumped to 1512MHz. This makes an hell of a difference for smoothness and I've yet seen a battery life hit. Also adding two more performance boosts, one adds a new if condition that checks if the CPU load is >= 50% and if it is the frequency goes bumped to hispeed_freq. And if the load is < 50% instead of calculating the new_freq by dividing with 100, we now divide with up_threshold (85% by default) to get a bit more homogeneous frequency scaling amongst all the available frequencies. This is give a little bit of a performance boost if the load of the CPU barely justifies bigger freqs.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
cpufreq: interactive: new_freq will be hispeed_freq if the cpu load is >= 50%.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Increase hispeed_freq and correct touch_boost freq because the older freq is not present in this cpufreq table.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Initial merging of my custom work from pre 4.3. A bit dirty commit but I all the commits are on the nightlies branch.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
MSM Hotplug

msm: hotplug: Remove spinlock in load stats

It's too expensive and not nessecary. (thx myfluxi)
msm: hotplug: Add options for number of min/max/boost cpus (thx myfluxi)
msm: hotplug: Fix typo to satisfy compiler
msm: hotplug: Make it compatible with "lge_boosted"
msm: hotplug: Make history size adjustable from userspace
msm: hotplug: Offline/online cpus upon early suspend/late resume
msm: hotplug: Set target number of cpus based on current load
msm: hotplug: Add sysfs
msm: hotplug: Set down lock atomically
msm: hotplug: Handle cpu on- and offlining
msm: hotplug: Add minimum uptime after hotplug
msm: hotplug: Increase hotplug update rate
msm: hotplug: Add touchboost to hotplug function
msm: hotplug: Add simple hotplug logic
msm: hotplug: Add spin lock to load stats function
msm: hotplug: Limit CPU freq to 702MHz dring suspend
msm: hotplug: Stop the hotplug workqueue during suspend
msm: hotplug: Print messages only with debug flag set
msm: hotplug: Get CPU load statistics
msm: hotplug: Add basic hotplug driver file template
lge_touch_core fixes && hotplug.h

lge_touch_core.c: these variables do not exist
add lge_boosted
add include/linux/hotplug.h
drivers/touchscreen: add sweep2wake

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:

	drivers/input/touchscreen/Kconfig
sweep2wake: fix last touch not being released

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/touchscreen: add pmops and allow i2c to wake the
 device (even w/o ES/LR)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:

	drivers/input/touchscreen/lge_touch_core.c
drivers/touchscreen: add lge_touch android_touch kobject to fix s2w in one position across devices

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:

	drivers/input/touchscreen/lge_touch_core.c