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>

Conflicts:
	arch/arm/configs/mako_defconfig
defconfig: enable kexec hardboot for MultiROM support

Thanks to Tassadar
lge_touch_core: i2c_read: auto retry 10 times before erroring out
The i2c devices we are connecting to may not be ready yet, or just
busy. Retry with a 10ms pause in order to still obtain touch data.
This improves overall touch data robustness, but the main thing it
does:
WE CAN FINALLY GET TOUCH DATA IN SUSPEND ALL THE TIME.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
driver/input/touchscreen: add new s2w & dt2w implemenation from hammerhead

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/doubletap2wake: Fix compilation with earlysuspend

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/sweep2wake: Fix compilation with earlysuspend

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/lge_touch_core: Add prevent_sleep functionality

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/lge_touch_core: release all touchscreen events when going to sleep

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/sweep2wake: add mako definitions

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
drivers/input/touchscreen/lge_touch_core: trigger on low and do not suspend the IRQ

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
defconfig: enable s2w, dt2w (Thanks @showp1984)