update Mali r3p2 driver to SAMSUNG KitKat Source
Fix CVE-2014-3153

futex-prevent-requeue-pi-on-same-futex.patch futex:
Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1)

If uaddr == uaddr2, then we have broken the rule of only requeueing from
a non-pi futex to a pi futex with this call.  If we attempt this, then
dangling pointers may be left for rt_waiter resulting in an exploitable
condition.

This change brings futex_requeue() in line with futex_wait_requeue_pi()
which performs the same check as per commit 6f7b0a2a5c0f ("futex: Forbid
uaddr == uaddr2 in futex_wait_requeue_pi()")

[ tglx: Compare the resulting keys as well, as uaddrs might be
  	different depending on the mapping ]

Change-Id: Ibe6195215657c86bf2e39305656fdacf7230389d
Reported-by: Pinkie Pie
Signed-off-by: Will Drewry <wad@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cpufreq & hotplug updates

CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug

The CPU hotplug callback related to writeback calls writeback_set_ratelimit()
during every state change in the hotplug sequence. This is unnecessary
since num_online_cpus() changes only once during the entire hotplug operation.

So invoke the function only once per hotplug, thereby avoiding the
unnecessary repetition of those costly calculations.

Change-Id: I9d13e74a60632bf079faebb80477ce86121f1a8c
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
cpufreq: Resolve CPUFREQ_NOTIFY issue

When the cpufreq_stat receives the frequency policy notification,
it checks if the frequency table and stats table are present for the cpu.
If both are present, it returns with -EBUSY error to the notification.
Due to this, none of the other registered modules receive this
notification.

If the stat table and sysfs nodes are already created, return 0 instead
of returning EBUSY error.

Change-Id: I1fd4a46e6a65edfc6253c4271288f10912ae2ad7
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
cpufreq: Retain only online cpus in managed_policy->cpus

cpufreq's handling of cpu online event can incorrectly initialize
managed_policy->cpus to include offline cpus. This causes cpufreq
governors to include offline cpus in their idle time computation, which
causes frequency to shoot up beyond normal levels (on systems where 2 or
more cpus need to be synchronized wrt frequency change).

This frequency shootup was not seen prior to commit 21111be8 which
changed idle time accounting for offline cpus. Prior to commit 21111be8,
idle time statistics for offline cpus would include their offline time
as well. Post commit 21111be8, offline time is not included in a cpu's
idle time statistics.

As a result, ondemand (or other cpufreq) governors would see unchanged
idle time for offline cpus, causing them to interpret those (offline)
cpus as 100% busy, which is wrong.

This patch fixes the issue by modifying cpufreq's hotplug handling to
retain only online cpus in managed_policy->cpus field. cpufreq governors
would then skip such offline cpus from idle time calculations.

Change-Id: Id2eba8c0ec3367609369b2e42a4e1386ff2e7ab5
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
implemented dyn_sync_cntrl: dynamic sync control 1.2
sound-soc: wm8994: Add voodoo_sound implementation
Courtesy of Gökhan Moral of Siyahkernel

Change-Id: Ifff46fce2abecc28c6063fdb8e8f442dfd2bd5e6

Conflicts:
	sound/soc/codecs/Makefile
	sound/soc/codecs/wm8994.c

	modified:   arch/arm/configs/t0_04_defconfig sound-soc: wm8994: Add voodoo_sound implementation
	modified:   sound/soc/Kconfig sound-soc: wm8994: Add voodoo_sound implementation
	new file:   sound/soc/codecs/Kconfig.voodoo sound-soc: wm8994: Add voodoo_sound implementation
	modified:   sound/soc/codecs/Makefile sound-soc: wm8994: Add voodoo_sound implementation
	new file:   sound/soc/codecs/tegrak_voodoo_sound.h sound-soc: wm8994: Add voodoo_sound implementation
	modified:   sound/soc/codecs/wm8994.c sound-soc: wm8994: Add voodoo_sound implementation
	new file:   sound/soc/codecs/wm8994_voodoo.c sound-soc: wm8994: Add voodoo_sound implementation
	new file:   sound/soc/codecs/wm8994_voodoo.h sound-soc: wm8994: Add voodoo_sound implementation
wm8994_voodoo: remove delay on wm8994_write and reapply settings on WM8994_POWER_MANAGEMENT_1 change

Change-Id: I7010c80e3cdf0b11d2ea8b102e70be6bd7820df3
sound-voodoo: Altered jack detection and sound fixes

Add T0 and M3 device conditionals to disable the call detection as we use a different register path over M0.
Use the android_switch mechanism for the jack detection as it is more reliable.

Change-Id: I3ea734c13378563c46a20c7decc4323516c6dde4
sound-soc: Custom sound control

Based on Boeffla sound (Andip71) with rewrite of sysinterface and code refactoring.

Change-Id: I15bc637a6595378dbb6a60cce9af73fa63af64f1

Conflicts:
	sound/soc/codecs/Kconfig
	sound/soc/codecs/Makefile
	sound/soc/codecs/sound_control.c
	sound/soc/codecs/sound_control.h

	modified:   sound/soc/codecs/Kconfig sound-soc: Custom sound control
	modified:   sound/soc/codecs/Makefile sound-soc: Custom sound control
	modified:   sound/soc/codecs/sound_control.c sound-soc: Custom sound control
	modified:   sound/soc/codecs/sound_control.h sound-soc: Custom sound control
	modified:   sound/soc/codecs/wm8994.c sound-soc: Custom sound control
sound-control: Fix band input and circumvent call detection

Change-Id: Ifa9d16ffc25db0d5050c58f12aa216b828c224ad

Conflicts:
	sound/soc/codecs/sound_control.c

	modified:   sound/soc/codecs/sound_control.c sound-control: Fix band input and circumvent call detection
sound-control: Throw out several state variables, add new detection methods

Camera microphone levels with help of new MHS.
Further code cleanup and refactoring.

Change-Id: Id610d61a16dfe08b55150104cf4dddf3be4a7be9

Conflicts:
	sound/soc/codecs/sound_control.c
	sound/soc/codecs/sound_control.h

	modified:   sound/soc/codecs/sound_control.c sound-control: Throw out several state variables, add new detection methods
	modified:   sound/soc/codecs/sound_control.h sound-control: Throw out several state variables, add new detection methods
Voodoo_Sound: default to disabled, to prevent build failure, if other voodoo related options aren't set

Change-Id: I451f9f5474a842e293f73c0a802b767950bc117a
voodoo sound: don't compile with: SND_VOODOO_RECORD_PRESETS

Change-Id: I542e4a2e89112cecf5190b7a73685fea8842dadb
mc1n2: Add interface for volume registers

Change-Id: I1bc9fe23c0f4c0301cf7e1cc6673d176d2fc99d6
sound: build boeffla and voodoo, only allow one to be enabled

Change-Id: I172a1939055a7ed9616546b3f26e889a9df871d6
sound: codecs: added '#endif' to try to fix error
drivers/cpufreq: YankasusQ governor (Based on PegasusQ)

Conflicts:
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile
	include/linux/cpufreq.h

Conflicts:
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile
	include/linux/cpufreq.h

	modified:   Makefile added toolchain path for 'make j-*'
	modified:   arch/arm/configs/t0_04_defconfig added spots for BFQ & FIOPS I/O schedulers, disabled 3-4 governors
	modified:   drivers/cpufreq/Kconfig drivers/cpufreq: YankasusQ governor (Based on PegasusQ)
	modified:   drivers/cpufreq/Makefile drivers/cpufreq: YankasusQ governor (Based on PegasusQ)
	new file:   drivers/cpufreq/cpufreq_yankasusq.c drivers/cpufreq: YankasusQ governor (Based on PegasusQ)
	modified:   include/linux/cpufreq.h drivers/cpufreq: YankasusQ governor (Based on PegasusQ)
drivers/cpufreq: YankasusQ governor (based on PegasusQ)
added pegasusq+ governor