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 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>

Signed-off-by: Paul Reioux <reioux@gmail.com>

Conflicts:
	arch/arm/boot/compressed/head.S
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>
Add kexec-hardboot changes for mako

Signed-off-by: Paul Reioux <reioux@gmail.com>
drivers: misc: Initial support for touchwake

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

Conflicts:
	drivers/misc/Kconfig
input: lge_touch_core: show accuracy and jitter in sysfs

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Possible fix touchwake reboot issue

Call touch_press in work_func instead of input_report

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
touchwake: Handle touch suspend/resume only if touchwake is enabled

Refactor suspend/resume to handle touch earlysuspend only if
touchwake is enabled.
(for compatibility with TouchControl app)

Thanks @bponury for hints

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Send input to touchwake only if it's enabled

Thanks to Bponury.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Implement Double tap to wake functionality

If enabled, touchscreen is always powered and user may resume
the device with a double tap on the center of the screen.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Rework double touch to wake functionality

- Refactor the code
- Reduce the delay of i2c retry to 10ms
- Use a wake lock when there is a touch to prevent kernel to suspend
- Implement the pm runtime interface

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Properly destroy wake lock on touch remove

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Release all touch events when power on

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Reset touch screen on power on

When power on the device reset touch screen to avoid
unresponsive touch screen issues.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
logger: Add an enable toggle for entry storage

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
board: mako: reduce the minimum backlight value to 0x01.

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