[Nexus 5 Original Android Development] flar2:
Experimental update

I started from scratch, only keeping the patches I think are worthwhile. All features are the same as before, just a bit leaner and closer to stock.

Let me know if anything is not working (it should be good)

New branch on github is ElementalX-1.00

Download (Stock/AOSP):

ElementalX-N5-1.00

ElementalX-N5-1.00-express

Changes:

Update ARM topology and add cpu_power driver

arm: lz4: faster boot-up process.

lz4: fix compression/decompression signedness mismatch

lib/lz4: correct the LZ4 license

crypto: add lz4 Cryptographic API

lib: add lz4 compressor module

arm: add support for LZ4-compressed kernel

lib: add support for LZ4-compressed kernel

decompressor: add LZ4 decompressor module

Wake Timeout: fix dependency

Wake gestures: adjust sweep length and doubletap timeout

Wake Gestures interface and other options for S2W/S2S/DT2W

Disable by default and remove leftovers

disable s2w/dt2w after timeout

fix unbalanced irq_wake

Make power button also disable irq_wake in touch driver

fullscreen option

doubletap2wake: back to full screen, make a bit more sensitive

restrict to bottom of screen, reduce feather radius, shorten time window, disabl

drivers/input/touchscreen/sweep2wake: Fix compilation with earlysuspend

drivers/input/touchscreen/doubletap2wake: Fix compilation with earlysuspend

Prevent touches during phone calls

Add option for sweep2sleep only

Option to disable touch wake with power button

dt2w: fix triple tap to wake occuring sometimes

s2w: abort on multitouch events early

add doubletap2wake, completely rewritten on the s2w template

sweep2wake: remove distinction between S2W and DT2W defines

sweep2wake: update header information

sweep2wake/doubletap2wake/touchscreen: Prepare for dt2w

s2w: rename version file so we don't conflict with dt2w, driver versions, etc

touch_synaptics: don't wait for irq events to be handled, just disable the irq

touch_synaptics: remove wakeup procedure for i2c device

touch_synaptics_ds5: don't wait for irq events to be handled, just disable the i

touch_synaptics_ds5: remove wakeup procedure for i2c device

sweep2wake: cleanup header file

sweep2wake: disabled as default, enable it over apps/sysfs

sweep2wake: disable debugging

touch_synaptics_ds5: i2c_read: auto retry 10 times before erroring out The i2c d

touch_synaptics: i2c_read: auto retry 10 times before erroring out The i2c devic

touch_synaptics: bring on par with touch_synaptics_ds5

sweep2wake: we no longer need irq_wake. remove it. Also clean up variable declar

sweep2wake & touchscreens: replaced flawed irq_wake procedures with linux functi

sweep2wake: massive update, bring on par with s2w2 except algorithm

mdss_dsi_panel: keep the panel gpio active and don't trigger a reset

mdss_dsi: do not power down panel when sweep2wake is enabled In order to detect

drivers/input/touchscreen/touch_synaptics_ds5: fix epic c&p fails for irq_wake i

drivers/input/touchscreen/touch_synaptics: patch with sweep2wake hooks as well

drivers/input/touchscreen/touch_synaptics_ds5: add missing irq_wake controls and

drivers/input/touchscreen/touch_synaptics_ds5: re-add android_touch kobj

sweep2wake: add irq_wake indicator

drivers/input/touchscreen/touch_synaptics_ds5: add screen suspend indicator

drivers/input/touchscreen/touch_synaptics_ds5: add reset code on finger release

drivers/input/touchscreen/touch_synaptics_ds5: disable suspend if sweep2wake is

sweep2wake: backport per device settings from sweep2wake2 (like pwr btn choice t

drivers/input/touchscreen/touch_synaptics_ds5: add is_single_touch & s2w detecti

sweep2wake: add qpnp-power-on hooks for the power key

add sweep2wake source files

drivers/input/touchscreen/touch_synaptics_ds5.c: No suspend irq

Update to latest F2FS

FS: import F2FS

ARM: dts: msm: increase adsp heap size for msm8974

stereo call recording support

arm/dt: msm8974: Increase "ib" values for VIDC DDR bandwidth request

net: loopback: set default mtu to 64K

slimbus: overclock root freq

[cpufreq_elementalx] Rework and clean up

[cpufreq_elementalx] make sure input boost stuff is disabled

[cpufreq_elementalx] up_threshold doesn't change, make it read_mostly

[cpufreq-elementalx] a little extra boost when load is high

cpufreq_elementalx: very slight boost

cpufreq_elementalx: add counter for more gradual boosting

cpufreq_elementalx: minor adjustments

ElementalX governor

Allow slightly lower brightness (without backlight dimmer mod)

backlight: scale max current when the brightness level is below 15 instead of us

backlight: add minimum backlight brightness module param.

backlight: clean the code.

backlight: fix a bug where the screen would be completely dark or near darkness

Backlight dimmer mod: more gradual transitions

More gradual levels for backlight dimmer mod (based on [MENTION=340133]MZH[/MENTION]ou module)

Add backlight dimmer option

Makefile: enable pipe

LCD KCAL: Fix Gamma max value issue

LCD_KCAL: Color Control driver for Nexus 5

msm: mdss: Find a stable sysfs node for the gamma interface

msm: mdss: Use workqueue to send panel commands

msm: mdss: Add hardware revision check

msm: mdss: Send panel commands via separate function

msm: mdss: Finalize gamma interface and cleanup

fixup color preset to work with experimental gamma interface

msm: mdss: Add safety check for user input

msm: mdss: Identify white point in sysfs

msm: mdss: Remove sysfs for unused commands

msm: mdss: distinguish between Gamma RGB polarity Positive/Negative

msm: mdss: Remove tunable for command 32

msm: mdss: Apply commands values without switching screen (off and) on

msm: mdss: Display gamma control

Basic color preset

sound control: add register cache

Sound Control: (OPTIONAL) add power amp registers access control as well

Sound Control: (Optional) work around for Nexus 4/5 audio issues

sound control: WCD9320: update speaker gain control for Z1

sound control 3.x: Initial GPL release for WCD9320 Audio Codec

Sound Control: WCD9320: expose additional controls

Change default max screen off frequency to 1190400

Add sysfs entry for max screen off frequency

Change msm-sleeper to use lcd-notifier

Max screen off frequency and shut down cores while screen is off

bump l2 a bit for touchboost freq

Reduce number of cpu frequencies

Use 200MHz GPU frequency

More overclocking options

L2 cache and bus bandwidth overclocking

CPU overclocking

Increase voltage limits

Voltage Control: add sysfs interface

Voltage Control: initial voltage control for MSM Snapdragon 800 SOC

stop_machine: Mark per cpu stopper enabled early

stop_machine: Use smpboot threads

stop_machine: Store task reference in a separate per cpu variable

kthread: Prevent unpark race which puts threads on the wrong cpu

smpboot: Allow selfparking per cpu threads

hotplug: Fix UP bug in smpboot hotplug code

smpboot: Provide infrastructure for percpu hotplug threads

kthread: Implement park/unpark facility

kthread_worker: reimplement flush_kthread_work() to allow freeing the work item

kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation

smpboot, idle: Fix comment mismatch over idle_threads_init()

smpboot, idle: Optimize calls to smp_processor_id() in idle_threads_init()

smp, idle: Allocate idle thread for each possible cpu during boot

smp: Provide generic idle thread allocation

smp: Add generic smpboot facility

msm: kgsl: Report GPU frequency correctly in sysfs

msm: Fix high load average from uninterruptible waits (@cyanogen)

disable crc check

Various small tweaks from morfic and franco

msm: rpm-regulator-smd: fix request suppression policy

try some different settings

bcmdhd: reducir wakelocks

mm: remove swap token code

mm: slub: Default slub_max_order to 0

msm: kgsl: Fix nice level for higher priority GPU start thread

msm: Improve qpnp-vibrator scheduling

msm: mdss: control backlight level during blank and unblank events

gpiomux-8974: Modify direction of suspended GPIO

leds: At disable, set the trigger to default instead of wiping it

msm: thermal: Update to speed up bootup time

lower GPU volt constraints a bit

SELinux: Fix memory leak upon loading policy

block: do not notify urgent request, when flush with data in flight

bcmdhd: decrease rx wakelock time from 500ms to 250ms for testing purposes.

ARM: dts: msm: Increase OCMEM BW request for video decode

ext4: fix memory leak in xattr

usb: gadget: mass_storage: added sysfs entry for cdrom to LUNs

sched: reinitialize rq->next_balance when a CPU is hot-added

tick: Dynamically set broadcast irq affinity

cpuidle: make a single register function for all

af_unix: speedup /proc/net/unix /proc/net/unix has quadratic behavior, and can h

ext4: speed up truncate/unlink by not using bforget() unless needed

tweak fifo_batch

deadline: Allow 0ms deadline latency, increase the read speed

hammerhead kernel: implement always on rgb led support

block: row: Remove warning massage from add_request

Implement kexec-hardboot

msm: kgsl: Add an input handler to power up the GPU on a touch event

msm: kgsl: Allow GPU start to run in a high priority queue

sched: Fix clear NOHZ_BALANCE_KICK

sched: Micro-optimize the smart wake-affine logic

sched: Implement smarter wake-affine logic

sched: Fix select_idle_sibling() bouncing cow syndrome

block: Reserve only one queue tag for sync IO if only 3 tags are available

readahead: make context readahead more conservative

switch do_fsync() to fget_light()

nohz: Reduce overhead under high-freq idling patterns

ARM: 7495/1: mutex: use generic atomic_dec-based implementation for ARMv6+

ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+

Revert qualcomm's contributions on mutex.h

PM: Introduce suspend state PM_SUSPEND_FREEZE

softirq: reduce latencies

writeback: Fix occasional slow sync(1)

cpufreq: Manage only online cpus

writeback: fix race that cause writeback hung

sched: add wait_for_completion_io[_timeout]

block: account iowait time when waiting for completion of IO request

writeback: fix writeback cache thrashing

sync: don't block the flusher thread waiting on IO

Fix CIFS

fix for app-mounted directories (thanks [MENTION=1951402]mkasick[/MENTION])

Input: Send events one packet at a time

fs: sync: enable fsync by default.

fs: sync: add missing return if fsync is disabled from userspace.

Added fsync on/off support.

USB Fast Charge for Nexus 5

Add SIO and FIOPS i/o schedulers

lib/int_sqrt.c: optimize square root algorithm

AIO: Don't plug the I/O queue in do_io_submit()

exFAT support

Add /dev/frandom support

arm/crypto: Add optimized AES and SHA1 routines

lib/memcopy: use glibc version

lib/string: use glibc version

Linaro GCC 4.9.1: fix compilation warnings

smd_rpc_sym.c: auto generated

ARM: Use -mcpu=cortex-a15 when targeting MSM Krait CPUs

Adjust Makefiles