Implement kexec-hardboot (tilak)

"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 flo, it is based of my grouper port, which is based of
  Asus TF201 patches 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.

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

Conflicts:
	arch/arm/boot/compressed/head.S
	arch/arm/configs/flo_defconfig
	arch/arm/kernel/machine_kexec.c
	arch/arm/mach-msm/asustek/devices_asustek.c
	arch/arm/mach-msm/include/mach/memory.h
	arch/arm/mach-msm/restart.c
[PATCH] nohz: Fix update_ts_time_stat idle accounting (ZaneZam)

update_ts_time_stat currently updates idle time even if we are in
iowait loop at the moment. The only real users of the idle counter
(via get_cpu_idle_time_us) are CPU governors and they expect to get
cumulative time for both idle and iowait times.
The value (idle_sleeptime) is also printed to userspace by print_cpu
but it prints both idle and iowait times so the idle part is misleading.

Let's clean this up and fix update_ts_time_stat to account both counters
properly and update consumers of idle to consider iowait time as well.
If we do this we might use get_cpu_{idle,iowait}_time_us from other
contexts as well and we will get expected values.
ZZmoove Version 1.0 beta1

Changelog:

- bump version to 1.0 beta1 because of brought forward plan 'outbreak'
- reworked scaling logic:
  removed unessesary calls of external cpufreq function and use a static variable instead to hold the system freq table during runtime
  fixed frequency stuck on max hard and soft frequency limit (under some circumstances freq was out of scope for the main search loop)
  and added precautions to avoid problems when for what ever reason the freq table is 'messed' or even not available for the governor
  fixed not properly working scaling with descend ordered frequency table like it is for example on qualcomm platform
  added additional propotional scaling mode (mode '1' as usual decide and use the lowest freq, new mode '2' use only propotional
  frequencies like ondemand governor does - switchable as before in 'scaling_proportional' tuneable)
- use static frequency table variable in all frequency checks agains system frequency table in the governor
- fixed 'update_ts_time_stat idle accounting' (kernel patch for kernel version 3.0.x needed, example available in github zzmoove repository)
- fixed non setting of scaling down threshold tuneables under some circumstances (issue on kernel 3.4 when running multible zzmoove instances)
- changed some variable names in scaling range evaluation and debugging tuneable
- added compatibility for kernel version 3.4 (or higher, but only tested on 3.4.0 yet)
- added compatibility for cpufreq implementation used since kernel version 3.10 (NOTE: for backports u can use the macro CPU_IDLE_TIME_IN_CPUFREQ)
- added support for powersuspend (used on some platforms since kernel version 3.4)
- added support for opo specific 'backlight ext control' (kernel patch for opo bacon devices needed, example available in github zzmoove repository)
- added macros to exclude hotplugging functionality (default in this version is enabled=uncommented)

profile header file (Version 0.3 beta1)

- bump version to 0.3 beta1 because of brought forward plan 'outbreak'
- removed dynamic freq scaling tuneable leftovers
- added macros to switch code depending of used power management implementation
  or used supend/resume backlight hook (opo specific)
- added macros to be able to disable hotplugging
silence annoying kmsgs during core changes
Revert "ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp"

This reverts commit 6cb0233cda21a7d6c233ae8ad0656fd4079a77d9.
Revert "readded wakelock: instead of directly going to suspend_mem, use the new suspend_freeze"

This reverts commit f09fe08a049953111d684d251ec4cf3052a87de6.
Revert "PM: Introduce suspend state PM_SUSPEND_FREEZE"

This reverts commit f28d5cc67d68731a1b5680b6659df6366c7a7469.
Update LTE and non-LTE modems from SAMSUNG OSRC I9305 EUR KK Update
Implement USB HID Keyboard/Mouse ROLE support for Android device
https://github.com/pelya/android-keyboard-gadget

needs supported APK from :
https://raw.githubusercontent.com/pelya/android-keyboard-gadget/master/USB-Keyboard.apk
s6e8aa0: Allow manual brightness to 300 candela
update v3.8.8 configs
deadline: Allow 0ms deadline latency, increase the read speed

Change a timer compare from after to after-equals, thus allowing
0 timeout and making deadline schedule FIFO.

Signed-off-by: xiaobing tu <xiaobing.tu@intel.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
ext4: remove some debugging functions by Samsung & sync with kernel.org (arter97)

Remove some debugging functions by Samsung

and correctly apply inode handling from upstream kernel.org's stable/linux-3.0.y

Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Input: Send events one packet at a time

On heavy event loads, such as a multitouch driver, the irqsoff latency
can be as high as 250 us.  By accumulating a frame worth of data
before passing it on, the latency can be dramatically reduced.  As a
side effect, the special EV_SYN handling can be removed, since the
frame is now atomic.

This patch adds the events() handler callback and uses it if it
exists. The latency is improved by 50 us even without the callback.

Change-Id: Iebd9b1868ae6300a922a45b6d104e7c2b38e4cf5
Cc: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>

Input: Improve the events-per-packet estimate

The events-per-packet estimate has so far been used by MT devices
only. This patch adjusts the packet buffer size to also accomodate the
KEY and MSC events.  Keyboards normally send one or two keys at a
time. MT devices normally send a number of button keys along with the
MT information.  The buffer size chosen here covers those cases, and
matches the default buffer size in evdev. Since the input estimate is
now preferred, remove the special input-mt estimate.

Reviewed-and-tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
fs: default to noatime/nodiratime

Signed-off-by: arter97 <qkrwngud825@gmail.com>