[Nexus 4 Original Android Development] defconoi:
Kernel Update

ion-storm - update version to 89u Expirimental

ion-storm - enable auto pwr on (not fully working yet)
ion-storm - bring back HYBRID POWERSUSPEND, interface with mipi_lgit
Jake Weinstein - Apply arch: arm: lib: optimize memcpy for cortex-A15 to memutils
Thomas Gleixner - smp: Implement kick_all_cpus_sync()
Srinivasarao P - kernel: cgroup: protect cgroup linked lists
Anton Vorontsov - staging: android: persistent_ram: Introduce persistent_ram_post_init()
Anton Vorontsov - persistent_ram: Remove prz->node
ion-storm - lge_touch fixes
ion-storm - update cfg
Chandler Zhang - arch: arm: lib: optimize memcpy for cortex-A15
Chander Kashyap - cpuidle / menu: move repeated correction factor check to init
Mel Gorman - cpuidle: menu: Call nr_iowait_cpu less times
Mel Gorman - cpuidle: menu: Use ktime_to_us instead of reinventing the wheel
Mel Gorman - cpuidle: menu: Use shifts when calculating averages where possible
Mohammad Merajul Islam Molla - cpuidle: ladder governor - use macro instead of hardcoded value
Mohammad Merajul Islam Molla - cpuidle: menu governor - remove unused macro STDDEV_THRESH
Antonio Ospite - cpuidle: fix comment
ion-storm - fix build errors
Prasad Sodagudi - kernel: alarm: Do not call rtc_alarm_irq_enable in IRQ Disabled context
Figo Wang - kernel: alarm: add dedicated alarm type for poweroff alarm
Figo Wang - kernel: alarm: :fix the BUG that device automatically powers on
Mohit Aggarwal - rtc: alarm: Set power-on alarm 120 sec before actual alarm time
ion-storm - rtc: alarm: Add power-on alarm feature
ion-storm - misc fixes 3
ion-storm - misc cleanup 2
ion-storm - defconfig: enable tick broadcast
ion-storm - clockevents: Add module refcount
ion-storm - clockevents: Get rid of the notifier chain
Stephen Boyd - clockevents: Switch into oneshot mode even if broadcast registered late
ion-storm - tick: Sanitize broadcast control logic
Thomas Gleixner - tick: Use zalloc_cpumask_var for allocating offstack cpumasks
ion-storm - tick: Handle broadcast wakeup of multiple cpus
Thomas Gleixner - tick: Avoid programming the local cpu timer if broadcast pending
ion-storm - clockevents: Fix generic broadcast for FEAT_C3STOP
Santosh Shilimkar - ARM: 7674/1: smp: Avoid dummy clockevent being preferred over real hardware clock-event
ion-storm - ARM: 7536/1: smp: Formalize an IPI for wakeup
ion-storm - clockevents: Add generic timer broadcast function
ion-storm - timers: Fixup the Kconfig consolidation fallout
Thomas Gleixner - timers: Provide generic Kconfig switches
ion-storm - Replaced early_suspend with new power_suspend. (It works)
ion-storm - Revert "Starting renaming early_suspend to power_suspend."
ion-storm - Revert "fixups for powersuspend"
ion-storm - Revert "misc cleanup"
mrg666 - Linux 3.4.104
ion-storm - misc cleanup
Thomas Gleixner - tick: Make oneshot broadcast robust vs. CPU offlining
ion-storm - tick: Cure broadcast false positive pending bit warning
ion-storm - time: Change the return type of clockevents_notify() to integer
Soren Brinkmann - clockevents: Adjust timer interval when frequency changes
Thomas Gleixner - clockevents: Serialize calls to clockevents_update_freq() in the core
Thomas Gleixner - clockevents: Provide sysfs interface
ion-storm - clockevents: Move the tick_notify() switch case to clockevents_notify()
Shawn Guo - clockevents: export clockevents_config_and_register for module use
Magnus Damm - clockevents: Make clockevents_config() a global symbol
Daniel Lezcano - cpuidle : handle clockevent notify from the cpuidle framework
Preeti U Murthy - tick: Fixup more fallout from hrtimer broadcast mode
ion-storm - tick: Introduce hrtimer based broadcast
ion-storm - tick: Fixup more fallout from hrtimer broadcast mode
ion-storm - PM / Sleep: Change wakeup source statistics to follow Android
ion-storm - PM / Sleep: Use wait queue to signal "no wakeup events in progress"
ion-storm - disable autosmp temporarily
ion-storm - fixups for powersuspend
Alucard24 - Updated powersuspend and autosleep from @dorimanx branch
ion-storm - Starting renaming early_suspend to power_suspend. replace early_suspend with new power_suspend definition.
ion-storm - update config
Steven Rostedt (Red Hat) - PM / Sleep: Remove ftrace_stop/start() from suspend and hibernate
Rafael J. Wysocki - PM / sleep: Use valid_state() for platform-dependent sleep states only
ion-storm - PM / sleep: Add state field to pm_states[] entries
Rafael J. Wysocki - ACPI / PM: Hold ACPI scan lock over the "freeze" sleep state
Viresh Kumar - PM / suspend: Remove unnecessary !!
Brandt, Todd E - PM / Sleep: increase ftrace coverage in suspend/resume
Bernie Thompson - PM / wakeup: Adjust messaging for wake events during suspend
Zhang Rui - PM / sleep: invalidate TEST_CPUS and TEST_CORE support for freeze state
Zhang Rui - PM / sleep: add TEST_PLATFORM support for freeze state
ion-storm - revert: PM: Introduce suspend state PM_SUSPEND_FREEZE
Bojan Smojver - PM / Hibernate: Print hibernation/thaw progress indicator one line at a time.
Bojan Smojver - PM / Hibernate: Enable suspend to both for in-kernel hibernation.
Minho Ban - PM / Hibernate: Use get_gendisk to verify partition if resume_file is integer format
Pranav Vashi - cpuidle: Cleanup to complete backport
Andy Lutomirski - cpuidle: Set polling in poll_idle
Paul Burton - cpuidle: delay enabling interrupts until all coupled CPUs leave idle
tuukka.tikkanen@linaro.org - cpuidle: poll state can measure residency
tuukka.tikkanen@linaro.org - cpuidle: Move perf multiplier calculation out of the selection loop
tuukka.tikkanen@linaro.org - cpuidle: Do not substract exit latency from assumed sleep length
tuukka.tikkanen@linaro.org - cpuidle: Ensure menu coefficients stay within domain
tuukka.tikkanen@linaro.org - cpuidle: Use actual state latency in menu governor
tuukka.tikkanen@linaro.org - cpuidle: rename expected_us to next_timer_us in menu governor
ion-storm - cpuidle: Handle clockevents_notify(BROADCAST_ENTER) failure
Konrad Rzeszutek Wilk - cpuidle: Check for dev before deregistering it.
Viresh Kumar - cpuidle: remove cpuidle_unregister_governor()
Viresh Kumar - cpuidle: don't call poll_idle_init() for every cpu
Sachin Kamat - PM / QoS: Use NULL pointer instead of plain integer in qos.c
Sachin Kamat - PM / Sleep: Add missing static storage class specifiers in main.c
Rafael J. Wysocki - PM / Sleep: Fix build warning in sysfs.c for CONFIG_PM_SLEEP unset
Viresh Kumar - cpuidle: use drv instead of cpuidle_driver in show_current_driver()
Viresh Kumar - cpuidle: call cpuidle_get_driver() from after taking cpuidle_driver_lock
Viresh Kumar - cpuidle: replace multiline statements with single line in cpuidle_idle_call()
Viresh Kumar - cpuidle: reduce code duplication inside cpuidle_idle_call()
Viresh Kumar - cpuidle: merge two if() statements for checking error cases
Viresh Kumar - cpuidle: rearrange __cpuidle_register_device() to keep minimal exit points
Viresh Kumar - cpuidle: rearrange code in __cpuidle_driver_init()
Viresh Kumar - cpuidle: make __cpuidle_driver_init() return void
Viresh Kumar - cpuidle: make __cpuidle_device_init() return void
Viresh Kumar - cpuidle: Fix comments in cpuidle core
Daniel Fu - cpuidle: Check the result of cpuidle_get_driver() against NULL
Colin Cross - cpuidle: coupled: fix race condition between pokes and safe state
Colin Cross - cpuidle: coupled: abort idle if pokes are pending
Colin Cross - cpuidle: coupled: disable interrupts after entering safe state
Tuukka Tikkanen - cpuidle: Change struct menu_device field types
Tuukka Tikkanen - cpuidle: Add a comment warning about possible overflow
Tuukka Tikkanen - cpuidle: Fix variable domains in get_typical_interval()
Tuukka Tikkanen - cpuidle: Fix menu_device->intervals type
Tuukka Tikkanen - cpuidle: CodingStyle: Break up multiple assignments on single line
Tuukka Tikkanen - cpuidle: Check called function parameter in get_typical_interval()
Tuukka Tikkanen - cpuidle: Rearrange code and comments in get_typical_interval()
Tuukka Tikkanen - cpuidle: Ignore interval prediction result when timer is shorter
Rafael J. Wysocki - Revert "cpuidle: Quickly notice prediction failure for repeat mode"
Rafael J. Wysocki - Revert "cpuidle: Quickly notice prediction failure in general case"
Daniel Lezcano - cpuidle: Check if device is already registered
Daniel Lezcano - cpuidle: Introduce __cpuidle_device_init()
ion-storm - cpuidle: Introduce __cpuidle_unregister_device()
ion-storm - cpuidle: Make cpuidle's sysfs directory dynamically allocated
Daniel Lezcano - cpuidle: Fix white space to follow CodingStyle
Daniel Lezcano - cpuidle: Check cpuidle_enable_device() return value
Daniel Lezcano - cpuidle: Make it clear that governors cannot be modules
Daniel Lezcano - cpuidle: Fix ARCH_NEEDS_CPU_IDLE_COUPLED dependency warning
Daniel Lezcano - cpuidle: Comment the driver's framework code
Daniel Lezcano - cpuidle: simplify multiple driver support
Daniel Lezcano - cpuidle: improve governor Kconfig options
Daniel Lezcano - cpuidle: fix comment format
ion-storm - cpuidle: remove en_core_tk_irqen flag
Daniel Lezcano - cpuidle: initialize the broadcast timer framework
ion-storm - cpuidle : handle clockevent notify from the cpuidle framework
Daniel Lezcano - cpuidle: remove the power_specified field in the driver
Krzysztof Mazur - cpuidle: fix number of initialized/destroyed states
Daniel Lezcano - cpuidle: fix lock contention in the idle path
ion-storm - cpuidle / coupled: fix ready counter decrement
Sivaram Nair - cpuidle: Fix finding state with min power_usage
ion-storm - cpuidle: Measure idle state durations with monotonic clock
Li Zhong - cpuidle: fix a suspicious RCU usage in menu governor
Daniel Lezcano - cpuidle: support multiple drivers
Daniel Lezcano - cpuidle: prepare the cpuidle core to handle multiple drivers
Daniel Lezcano - cpuidle: move driver checking within the lock section
Daniel Lezcano - cpuidle: move driver's refcount to cpuidle
Daniel Lezcano - cpuidle: fixup device.h header in cpuidle.h
Daniel Lezcano - cpuidle / sysfs: move structure declaration into the sysfs.c file
Youquan Song - cpuidle: Get typical recent sleep interval
Youquan Song - cpuidle: Quickly notice prediction failure in general case
ion-storm - cpuidle: Quickly notice prediction failure for repeat mode
Youquan Song - cpuidle: Set residency to 0 if target Cstate not enter
Daniel Lezcano - cpuidle / sysfs: move kobj initialization in the syfs file
ion-storm - cpuidle / sysfs: change function parameter
ion-storm - cpuidle: add Calxeda SOC idle support
Rafael J. Wysocki - PM / cpuidle: Make ladder governor use the "disabled" state flag
ion-storm - Honor state disabling in the cpuidle ladder governor
Srivatsa S. Bhat - ACPI idle, CPU hotplug: Fix NULL pointer dereference during hotplug
Daniel Lezcano - cpuidle: rename function name "__cpuidle_register_driver", v2
Rafael J. Wysocki - PM / cpuidle: Make ladder governor use the "disabled" state flag
Carsten Emde - Honor state disabling in the cpuidle ladder governor
Preeti U Murthy - PM / cpuidle: System resume hang fix with cpuidle
Rafael J. Wysocki - PM / Domains: Fix build warning for CONFIG_PM_RUNTIME unset
Sachin Kamat - PM / Domains: Replace plain integer with NULL pointer in domain.c file
Sachin Kamat - PM / Domains: Add missing static storage class specifier in domain.c file
Rafael J. Wysocki - PM / Domains: Allow device callbacks to be added at any time
Rafael J. Wysocki - PM / Domains: Add device domain data reference counter
Rafael J. Wysocki - PM / Domains: Add preliminary support for cpuidle, v2
Rafael J. Wysocki - PM / Domains: Do not stop devices after restoring their states
Rafael J. Wysocki - PM / Domains: Use subsystem runtime suspend/resume callbacks by default
Rafael J. Wysocki - PM / Domains: Make it possible to add devices to inactive domains
Huang Ying - PM / Domains: Fix link checking when add subdomain
Rafael J. Wysocki - PM / Domains: Cache device stop and domain power off governor results, v3
Rafael J. Wysocki - PM / Domains: Make device removal more straightforward
Rafael J. Wysocki - PM / Runtime: Remove device fields related to suspend time, v2
Rafael J. Wysocki - PM / Domains: Rework default device stop governor function, v2
Rafael J. Wysocki - PM / Domains: Rework default domain power off governor function, v2
Rafael J. Wysocki - PM / cpuidle: Add driver reference counter
ShuoX Liu - cpuidle: move field disable from per-driver to per-cpu
Srivatsa S. Bhat - cpuidle: add checks to avoid NULL pointer dereference
Sergey Senozhatsky - cpuidle: remove unused hrtimer_peek_ahead_timers() call
Rafael J. Wysocki - PM / Sleep: Separate printing suspend times from initcall_debug
Sameer Nanda - PM / Sleep: add knob for printing device resume times
ion-storm - Power: Changes the permission to read only for sysfs file /sys/kernel/wakeup_reasons/last_resume_reason
Ruchi Kandoi - Power: Add guard condition for maximum wakeup reasons
ion-storm - Power: add an API to log wakeup reasons
Pranav Vashi - Power: Add rule to make SUSPEND_TIME
yank555-lu - kernel/power/powersuspend: add back userpace control w/ default kernel control
yank555-lu - kernel/power/powersuspend: remove userspace dependency from powersuspend
Paul Reioux - powersuspend: new PM kernel driver for Android w/o early_suspend
ion-storm - PM / Sleep: Print name of wakeup source that aborts suspend
Wei Yongjun - PM / OPP: using kfree_rcu() to simplify the code
Nishanth Menon - PM / OPP: predictable fail results for opp_find* functions, v2
Liam Girdwood - PM / OPP: Export symbols for module usage.
Vincent Guittot - PM / OPP: RCU reclaim
Shawn Guo - PM / OPP: Initialize OPP table from device tree
Arve Hjønnevåg - PM / Sleep: Add wake lock api wrapper on top of wakeup sources
Stepan Moskovchenko - PM / Sleep: Clean up remnants of workqueue-based sync
Arve Hjønnevåg - PM / Sleep: Fix a mistake in a conditional in autosleep_store()
Amar Singhal - power: main: Add conditional compilation for touch nodes
Rafael J. Wysocki - PM / Sleep: User space wakeup sources garbage collector Kconfig option
Rafael J. Wysocki - PM / Sleep: Make the limit of user space wakeup sources configurable
Anurag Singh - power: Remove unnecessary options from Kconfig
Arve Hjønnevåg - PM / Sleep: Add wake lock api wrapper on top of wakeup sources
Rafael J. Wysocki - PM / Sleep: Add user space interface for manipulating wakeup sources, v3
ion-storm - PM / Sleep: Add "prevent autosleep time" statistics to wakeup sources
ion-storm - PM / Sleep: Implement opportunistic sleep, v2
ion-storm - power: Remove legacy wakelock code.
ion-storm - Restore kernel power point for starting import commit.
ion-storm - PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints
ion-storm - enable powerup alarm
Mao Jinlong - rtc: alarm: set power_on_alarm again when calling alarm_resume
Xiaocheng Li - alarm : Fix the race conditions in alarm-dev.c
ion-storm - rtc:alarm: remove alarm_shutdown hook in alarm driver
Mohit Aggarwal - rtc: qpnp-rtc: Set alarm control register properly
ion-storm - rtc: alarm: update power_on alarm setting logic
ion-storm - kernel: alarm: setup the RTC immediately for poweroff alarm
Mohit Aggarwal - rtc: qpnp-rtc: Sets RTC time correctly
Rafael J. Wysocki - PM / sleep: Use valid_state() for platform-dependent sleep states only
Rafael J. Wysocki - PM / sleep: Add state field to pm_states[] entries
alucard24 - PM suspend: adapt changes to EARLYSUSPEND functionality
Rafael J. Wysocki - ACPI / PM: Hold ACPI scan lock over the "freeze" sleep state
Viresh Kumar - PM / suspend: Remove unnecessary !!
Bernie Thompson - PM / wakeup: Adjust messaging for wake events during suspend
Zhang Rui - PM / sleep: invalidate TEST_CPUS and TEST_CORE support for freeze state
Zhang Rui - PM / sleep: add TEST_PLATFORM support for freeze state
Zhang Rui - PM: Introduce suspend state PM_SUSPEND_FREEZE
Maria Yu - rtc: alarm: have dummy set_power_on_alarm function
Kumar Gala - rtc: alarm: init power_on_alarm_lock mutex in alarmtimer_rtc_timer_init
ion-storm - Implemented CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED + some cpuidle optimizations.
ion-storm - PM / Sleep: Change wakeup source statistics to follow Android
Rafael J. Wysocki - PM / Sleep: Look for wakeup events in later stages of device suspend
Anurag Singh - Revert "power: main: Add conditional compilation for touch nodes"
alucard24 - Revert "PM: Introduce suspend state PM_SUSPEND_FREEZE"
ion-storm - Revert "PM / sleep: add TEST_PLATFORM support for freeze state"
alucard24 - Revert "PM / sleep: invalidate TEST_CPUS and TEST_CORE support for freeze state"
alucard24 - Revert "PM / suspend: Remove unnecessary !!"
ion-storm - Revert "ACPI / PM: Hold ACPI scan lock over the "freeze" sleep state"
ion-storm - Revert "PM suspend: adapt changes to EARLYSUSPEND functionality"
ion-storm - Revert "PM / sleep: Add state field to pm_states[] entries"
ion-storm - Revert "PM / sleep: Use valid_state() for platform-dependent sleep states only"
ion-storm - update cfg
Maria Yu - ARM: fix user unalignment prefetch abort

Summary:

Bleeding edge Powersuspend code brought to Mako, Earlysuspend is depreciated upstream, new cpuidle code only seen on N5+, persistent ram updates and Memory optimizations for cortex-A15 and lots more that I forgot, right now this is experimental, there should be some bugs that I didn't find yet, I fixed most things, I asked [MENTION=4203114]mrg666[/MENTION] to look over the code to see if we can make it better. Also maybe we can get some battery improvements with this, this was extremely hard to port, took many hours, [MENTION=3332811]faux123[/MENTION] said to me it was impossible. Now that this is possible, I hope to see some devs improve upon my work.

Links incoming:

AOSP/L

CM11