Update and rename franco_geehrc_defconfig to gee_defconfig
Revert "do some uV"

This reverts commit 83c7c2f75a91f930679d9f543cd2547638c50ee2.
Revert "low cpu clock & sched mc"

This reverts commit 0d45fd9f72c4a33feb478492d0bd0098c33d3a12.

Conflicts:
	arch/arm/configs/gee_defconfig
Add Battery Life eXtender (BLX) - From MikeEx kernel_msm

This is a simple port of Ezekeel's BLX mod to the Nexus 4.

See this thread for more information:
http://forum.xda-developers.com/showthread.php?t=1257497

Let's keep the same sysfs implementation so that apps, such as Trickster
MOD, can support this.

mathkid95 authored on 30 Nov 2013

https://github.com/MikeEx/kernel_msm/commit/dfbe00110b4d128c3e5c33dcff4fba034ed96c73#diff-9d235f83189f039cd359ba0b11c4e022R3416

Conflicts:
	drivers/misc/Makefile

Change-Id: I5fab5ebfefb3e185fe6ba0e01dd91f8fa68f2936
Add TRIPNDROID scheduler

* Thanks TripNDroid Mobile Engineering

Change-Id: I180cb525febf458f58e9f2e7bd250c26bdb1400e
Update 8.1

Change-Id: I0a3a1631d889f435dc2b726c5ac007585c53bf1f
Revert "Update 8.1"

This reverts commit 58a17fc079199300f4b5c0a2655b5bf94eea6984.r

Change-Id: I0719d4ebad04aab317d1835dd58f70c9854ab7b1
cpufreq: Add new CPU GOVs - from justin0406/AK-xGenesis

Change-Id: I7523ae10063df9dbda76ff230ba1debdef8bd986
Enable TRIPNDROID

Change-Id: I61a5acb8d9a137da27250bece4a4608d0f3cb3c5
Magical Derp fix for volume keys

Change-Id: I09b31e2ea5d8f196e03ac73f897ae950f8898fdc
Defconfig update

Change-Id: Ie2d1598538b41df427b380fc0df9cd80d78bc7c8
GHOST TOUCH FIXEDgit add arch/arm/mach-msm/lge/mako/board-mako-display.c! ;)

Change-Id: I271897470cc3d73741c78ca60a41bb672e2bc629
Bring in some Goodie Good Goods from faust93

Higher cpu clock, intellidemand/active cpu govs,
lots of under the hood changes as shown below.
Includes commits :

https://github.com/faust93/franco_geehrc_f93/commit/19090da756b781af6b3dbbde36507f24f44df691

https://github.com/faust93/franco_geehrc_f93/commit/7e62b45254f4bf50daf9a9a597f6ad83de05a945

https://github.com/faust93/franco_geehrc_f93/commit/a511f21ad00f1fe71dd28f8c9f8c038271fbfa60

https://github.com/faust93/franco_geehrc_f93/commit/7d4b58ac8d00e933ec638bf32803396206bd5d90

https://github.com/faust93/franco_geehrc_f93/commit/74318b167304f3b047dd64e03679debb657d8a23

https://github.com/faust93/franco_geehrc_f93/commit/294a4b8e61a36daf5520ffdfb96a4dd62c3b99e1

https://github.com/faust93/franco_geehrc_f93/commit/2c999a47914af8cb1c48dee5d15c7d1ec91d13c0

https://github.com/faust93/franco_geehrc_f93/commit/89c09fbcf04fca5ddd01d3009d035f125a62ec53

https://github.com/faust93/franco_geehrc_f93/commit/46999ae24a0f924c510baf0db95fbd1fee16a6d7

https://github.com/faust93/franco_geehrc_f93/commit/35d80a18b3e4249807e2fae611d08b11629aeab5

https://github.com/faust93/franco_geehrc_f93/commit/a535bd21b2aeb622474667cc51cc71fe279623ab

https://github.com/faust93/franco_geehrc_f93/commit/718e048bfead6189a10deee1b1431b3d7fe25f4d

https://github.com/faust93/franco_geehrc_f93/commit/f01bc138d3813fe9cc3b63422acd8b99a328edef

https://github.com/faust93/franco_geehrc_f93/commit/f711080845b814a7fc731e8d78ba4362777a4196

https://github.com/faust93/franco_geehrc_f93/commit/605f5a1a1ab93398315dfaed7bf6284df6e9d32f

https://github.com/faust93/franco_geehrc_f93/commit/417dac60e51979d74b4a8761d2e7487050797c80

https://github.com/faust93/franco_geehrc_f93/commit/20ca1ac0fef66b5aea0f3b86a86c9035e22899f1

https://github.com/faust93/franco_geehrc_f93/commit/56c06ffe074979fa1022bac3113f775384ab4f8a

https://github.com/faust93/franco_geehrc_f93/commit/bdf011baafaebf0996b1d4feb7fc6d0d0ce95d45

https://github.com/faust93/franco_geehrc_f93/commit/5f843087a8d8ad2cb1e773caf559828151601a34

https://github.com/faust93/franco_geehrc_f93/commit/95c14c43630d4c02ed13948f554ec88c4aacd4a1

https://github.com/faust93/franco_geehrc_f93/commit/5fc7bb928d8146f4d65411d397a4f2761ae48520

https://github.com/faust93/franco_geehrc_f93/commit/cb94dbd84b408792dae4ea6280a107f8944cbe33

https://github.com/faust93/franco_geehrc_f93/commit/004627ed46057fceef93f8cc88bbbad066ad01a0

https://github.com/faust93/franco_geehrc_f93/commit/2a88ae9d1fcfb7b68e43aaa0b1a71d2d51114f2c

https://github.com/faust93/franco_geehrc_f93/commit/4f8752a7557ac1a309217f093427b74183724e79

https://github.com/faust93/franco_geehrc_f93/commit/5488192df048072dacf93630272f028af7f9b2e7

https://github.com/faust93/franco_geehrc_f93/commit/f9ca0e9ba9b2175c2f2dcef421c2bfc768411ae6

https://github.com/faust93/franco_geehrc_f93/commit/ad7db86329af34761076dd4d9711a2b1e543b169

https://github.com/faust93/franco_geehrc_f93/commit/25d6534b52a606e2f056c541fc76edeada54bcfc

https://github.com/faust93/franco_geehrc_f93/commit/4ce4422f55e4addd849437e15b5b854e41987ce1

https://github.com/faust93/franco_geehrc_f93/commit/fa5e81f367e218b006e68a3d50da19c251d28d45

https://github.com/faust93/franco_geehrc_f93/commit/8f09a23f587c46d8b7eca0df987ad74a5f3fa6b8

https://github.com/faust93/franco_geehrc_f93/commit/c3a5b2bc6f481f7bd17ec8fd17d542b179e5bdc8

https://github.com/faust93/franco_geehrc_f93/commit/a736ebd04edcf7f721f4afe2cad2ae89c176a255

https://github.com/faust93/franco_geehrc_f93/commit/bf380208bc6b24020325227b68fd7ba79917b08e

https://github.com/faust93/franco_geehrc_f93/commit/0425d35cdd656642901068d16e8e168672f1ec6f

https://github.com/faust93/franco_geehrc_f93/commit/a2289363beb34ca80f738d174a5d17906a268e40

https://github.com/faust93/franco_geehrc_f93/commit/1de1fc9f54b50dd2850e901bf5f51eac00f636c9

https://github.com/faust93/franco_geehrc_f93/commit/dae3d02617d0025d03ec5465ec45543b7a1548e7

https://github.com/faust93/franco_geehrc_f93/commit/74cecea9c93653689b538f591993b64113e17770

https://github.com/faust93/franco_geehrc_f93/commit/8c87124d0e5d9bc3ccb12a9bac83c0733e21b4f4

https://github.com/faust93/franco_geehrc_f93/commit/518c62f01e5abd98da41b722c08705ef8318e600

Change-Id: If4d4a93370dbfb3272a3fc18f77956f1a6e31cbd
PM: Introduce suspend state PM_SUSPEND_FREEZE

PM_SUSPEND_FREEZE state is a general state that
does not need any platform specific support, it equals
frozen processes + suspended devices + idle processors.

Compared with PM_SUSPEND_MEMORY,
PM_SUSPEND_FREEZE saves less power
because the system is still in a running state.
PM_SUSPEND_FREEZE has less resume latency because it does not
touch BIOS, and the processors are in idle state.

Compared with RTPM/idle,
PM_SUSPEND_FREEZE saves more power as
1. the processor has longer sleep time because processes are frozen.
   The deeper c-state the processor supports, more power saving we can get.
2. PM_SUSPEND_FREEZE uses system suspend code path, thus we can get
   more power saving from the devices that does not have good RTPM support.

This state is useful for
1) platforms that do not have STR, or have a broken STR.
2) platforms that have an extremely low power idle state,
   which can be used to replace STR.

The following describes how PM_SUSPEND_FREEZE state works.
1. echo freeze > /sys/power/state
2. the processes are frozen.
3. all the devices are suspended.
4. all the processors are blocked by a wait queue
5. all the processors idles and enters (Deep) c-state.
6. an interrupt fires.
7. a processor is woken up and handles the irq.
8. if it is a general event,
   a) the irq handler runs and quites.
   b) goto step 4.
9. if it is a real wake event, say, power button pressing, keyboard touch, mouse moving,
   a) the irq handler runs and activate the wakeup source
   b) wakeup_source_activate() notifies the wait queue.
   c) system starts resuming from PM_SUSPEND_FREEZE
10. all the devices are resumed.
11. all the processes are unfrozen.
12. system is back to working.

Known Issue:
The wakeup of this new PM_SUSPEND_FREEZE state may behave differently
from the previous suspend state.
Take ACPI platform for example, there are some GPEs that only enabled
when the system is in sleep state, to wake the system backk from S3/S4.
But we are not touching these GPEs during transition to PM_SUSPEND_FREEZE.
This means we may lose some wake event.
But on the other hand, as we do not disable all the Interrupts during
PM_SUSPEND_FREEZE, we may get some extra "wakeup" Interrupts, that are
not available for S3/S4.

The patches has been tested on an old Sony laptop, and here are the results:

Average Power:
1. RPTM/idle for half an hour:
   14.8W, 12.6W, 14.1W, 12.5W, 14.4W, 13.2W, 12.9W
2. Freeze for half an hour:
   11W, 10.4W, 9.4W, 11.3W 10.5W
3. RTPM/idle for three hours:
   11.6W
4. Freeze for three hours:
   10W
5. Suspend to Memory:
   0.5~0.9W

Average Resume Latency:
1. RTPM/idle with a black screen: (From pressing keyboard to screen back)
   Less than 0.2s
2. Freeze: (From pressing power button to screen back)
   2.50s
3. Suspend to Memory: (From pressing power button to screen back)
   4.33s

>From the results, we can see that all the platforms should benefit from
this patch, even if it does not have Low Power S0.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Conflicts:
	kernel/power/main.c
	kernel/power/suspend.c
Signed-off-by: flar2 <asegaert@gmail.com>

Conflicts:
	include/linux/suspend.h
	kernel/power/suspend.c

Change-Id: If53c5b382d998061d0bdb3fadd4312cd265ed510

Conflicts:
	drivers/base/power/wakeup.c
	include/linux/suspend.h
	kernel/power/suspend.c