block: support volname for HTC devices with proc/emmc support

gets data from emmc_partitions and write it down on mmcblk0pX partitions
this enables vold by-name mappings

Change-Id: I4af7f34919ae1e94b960fcabfcfb70fe50825cf7
m7: change vibrator level to 1700mV to match userspace default value

Conflicts:
	arch/arm/mach-msm/htc/m7/board-m7-pmic.c

Change-Id: I5a4d4cadfadfdb138a65bb30c134fc506f3bef77
tps61310: Move flashlight_off to suspend handler

* Early suspend is kind of stupid in this driver, move the call to
  flashlight_off to the full suspend handler instead.
* This should let the flashlight remain on when the display is inactive,
  by having userspace grab a PARTIAL_WAKE_LOCK if needed.

Change-Id: Ifb6d37f9323afa0f10d5797bab3880fe051c1dff
android/lowmemorykiller: Account for total_swapcache_pages

The lowmemorykiller relies on NR_FILE_PAGES when measureing
the amount of reclaimable memory in the system.
However when swap is enabled swap cache pages are counted
in NR_FILE_PAGES, and swap cache pages aren't as reclaimable
in low memory as file cache pages. Therefore a large swap
cache can result in the lowmemorykiller not running and
an OOM occuring.

In order to ensure the lowmemorykiller properly evaluates the
amount of reclaimable memory don't count the swap cache pages.

Change-Id: I38239283e572f814b277c718eaf6be7f92abacbb
Signed-off-by: Liam Mark <lmark@codeaurora.org>
lowmemorykiller: Account for highmem during kswapd reclaim

Currenlty most memory reclaim is done through kswapd.
Since kswapd uses a gfp mask of GFP_KERNEL, and because
the lowmemorykiller is zone aware, the lowmemorykiller will
ignore highmem most of the time.
This results in the lowmemorykiller being overly aggressive.

The fix to this issue is to allow the lowmemorykiller to
count highmem when being called by the kswapd if the lowmem
watermarks are satisfied.

Change-Id: I938644584f374763d10d429d835e74daa4854a38
Signed-off-by: Liam Mark <lmark@codeaurora.org>