mm/zswap: fix compilation issue
mm/swap: fix race on swap_info reuse between swapoff and swapon

Date	Thu, 09 Jan 2014 13:39:55 +0800

swapoff clear swap_info's SWP_USED flag prematurely and free its resources
after that. A concurrent swapon will reuse this swap_info while its previous
resources are not cleared completely.

These late freed resources are:
- p->percpu_cluster
- swap_cgroup_ctrl[type]
- block_device setting
- inode->i_flags &= ~S_SWAPFILE

This patch clear SWP_USED flag after all its resources freed, so that swapon
can reuse this swap_info by alloc_swap_info() safely.

Signed-off-by: Weijie Yang <weijie.yang@samsung.com>
Signed-off-by: Paul Reioux <reioux@gmail.com>
kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend v1.3 (Yank555.lu)

- add an alternative hook for screen on / off detection in the display pannel driver
  (sleeps  ~0.1s sooner, wakes up ~1s later then autosleep)

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend v1.2 (Yank555.lu)

- make kernel / userspace mode switchable

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend v1.1 (Yank555.lu)

- make powersuspend not depend on a userspace initiator anymore, but use a hook in autosleep instead.

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend (faux123)

Android early_suspend/late_resume PM kernel driver framework has been
deprecated by Google. This new powersuspend PM kernel driver is a replacement
for it and existing early_suspend drivers can be easily adapted to use this
new replacement driver

Signen-off-by: Paul Reioux <reioux@gmail.com>;
gpio_keys: add flip cover wake/suspend event (arter97)

AOSP doesn't take care of flip covers.

Let make it aware from the kernel side.

gpio_keys: fix registration order

gpio-keys must be in /sys/class/input/input18,
flip_powerkey must be in /sys/class/input/input19

for device/samsung/hlte/power/power_ext.c to properly suspend GPIO_KEYS_POWER.

Re-order registration(flip_powerkey after gpio-keys).

 gpio_keys: return early when flip_cover == gpio_flip_cover

This prevents ghost turn-off or turn-on
when there really wasn't a flip-cover event changed,
but flip_cover_work() is just called.

To prevent this, compare ddata->flip_cover with gpio_get_value(ddata->gpio_flip_cover)
and proceed only on when those datas are different.

gpio_keys: fix typo during flip_powerkey registration
input_register_device() returns 1 on errors, not 0

gpio_keys: remove filesystem sync, dynamic fsync already handles this (Yank555.lu)

gpio_keys: add a semaphore so powerkey action never happen more than once at the same time (Yank555.lu)

- use shorter delay between press & release
board-8974: enable ram console

inspired from imoseyon/leanKernel-note3

https://github.com/imoseyon/leanKernel-note3/commit/222e2a5f749684aacf9a770f99a800f035efe7eb
Enable some more stuff