initial
cpufreq: Manage Online CPU's only
Battery Life eXtender (BLX)

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.
BLX: Set default limit to 98
Implement kexec hardboot

"Allows hard booting (i.e., with a full hardware reboot) to a kernel
previously loaded in memory by kexec. This works around the problem of
soft-booted kernel hangs due to improper device shutdown and/or
reinitialization."
More info in /arch/arm/Kconfig.

 Original author: Mike Kasick <mike@kasick.org>

 Vojtech Bocek <vbocek@gmail.com>:
 I've ported it to mako and flo, it is based of my grouper port, which is
 based of Asus TF201 patche ported by Jens Andersen <jens.andersen@gmail.com>

 I've moved atags copying from guest to the host kernel, which means there
 is no need to patch the guest kernel, assuming the --mem-min in kexec call
 is within the first 256MB of System RAM, otherwise it will take a long time
 to load. I've also fixed /proc/atags entry, which would give the kexec-tools
 userspace binary only the first 1024 bytes of atags,
 see arch/arm/kernel/atags.c for more details.

 Other than that, memory-reservation code for the hardboot page and
 some assembler to do the watchdog reset on MSM chip are new for this device.

     ayysir <dresadd09691@gmail.com>:
     kexec: use mem_text_write_kernel_word to set reboot_code_buffer args
     in order to avoid protection faults (writes to read-only
     kernel memory) when CONFIG_STRICT_MEMORY_RWX is enabled.

     Signed-off-by: Vojtech Bocek <vbocek@gmail.com>

Patch from: https://gist.github.com/Tasssadar/6766757
Optimize
This will heavily optimize the kernel build, GPU, ARM, etc. Should be able to build with GCC's 4.7+ to 4.10 SM or Linaro

Signed-off-by: Jean Francis Dominique S. Mabalot <jfdsmabalot@redhat.com>
SQUASHED: ARM: LoUIS cache maintenance API
ARM: cacheflush: split user cache-flushing into interruptible chunks
ARM: cacheflush: split user cache-flushing into interruptible chunks

Flushing a large, non-faulting VMA from userspace can potentially result
in a long time spent flushing the cache line-by-line without preemption
occurring (in the case of CONFIG_PREEMPT=n).

Whilst this doesn't affect the stability of the system, it can certainly
affect the responsiveness and CPU availability for other tasks.

This patch splits up the user cacheflush code so that it flushes in
chunks of a page. After each chunk has been flushed, we may reschedule
if appropriate and, before processing the next chunk, we allow any
pending signals to be handled before resuming from where we left off.

Signed-off-by: Will Deacon <will.deacon@arm.com>
ARM: cacheflush: don't bother rounding to nearest vma

do_cache_op finds the lowest VMA contained in the specified address
range and rounds the range to cover only the mapped addresses.

Since commit 4542b6a0fa6b ("ARM: 7365/1: drop unused parameter from
flush_cache_user_range") the VMA is not used for anything else in this
code and seeing as the low-level cache flushing routines return -EFAULT
if the address is not valid, there is no need for this range truncation.

This patch removes the VMA handling code from the cacheflushing syscall.

Signed-off-by: Will Deacon <will.deacon@arm.com>
ARM: 7917/1: cacheflush: correctly limit range of memory region being flushed

commit b31459adeab018b297541e288ac88873011da82a upstream.

The __do_cache_op function operates with a 'chunk' size of one page
but fails to limit the size of the final chunk so as to not exceed
the specified memory region. Fix this.

Reported-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Tested-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ARM: fix derp cacheflush cache-v7
msm: krait: add CPU Voltage control.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Tweak min/max voltages
drivers: msm_thermal: make thermal throttle temperature threshold user configurable.

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

Conflicts:
	drivers/thermal/msm_thermal.c

Conflicts:
	drivers/thermal/msm_thermal.c
drivers: thermal: properly limit CPU frequency when the temperature is too hot: if we throttle too much games will lag so we'll only scale down to 1026MHz until the device cools down, then back to 1512MHz again. Added other smaller routine changes to make it work properly.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
thermal: tsens8960: Increase the polling rate

Change the polling rate at which the sensors temperature
is read from 1 second to .25 seconds. On faster parts
there is a need to poll the temperature at a higher
frequency to improve reporting temperature changes.

Change-Id: I10049707c3e55316597fff72fbd00246cd29bed3
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
USB force fast charging

-Use base from Chad Froebel <chadfroebel@gmail.com> so we continue to
use the same generic sysfs mechanism

-Referenced franco's git for drivers/usb/otg/msm_otg.c changes
https://github.com/franciscofranco/mako/commit/5a8a4c8e23c7e1df39c740b9ce1d5dda20b0ede3

Off by default

Turn on:
echo 1 > /sys/kernel/fast_charge/force_fast_charge

Turn off:
echo 0 > /sys/kernel/fast_charge/force_fast_charge

Signed-off-by: Paul Reioux <reioux@gmail.com>
Added fsync on/off support.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
fs: sync: enable fsync by default.

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