VMALLOC_SAVINGS: completed import from @Dorimanx branch
ARM: Don't dump vmalloc addresses with show_data()

Memory-mapped IO address spaces cannot be safely dumped at will.
Some addresses may not be available (clocked, powered) at all times,
and may result in hangs or bus decode errors if accessed. Other
registers that are accessible may have read side-effects, and dumping
them may have adverse affects on stability or the functionality of
the affected peripheral.

Be safe, and skip dumping such addresses altogether.

CRs-Fixed: 625442
Change-Id: I4cfa75f027ededf841a0240715af0db385857cbe
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Vignesh Radhakrishnan <vigneshr@codeaurora.org>
ARM: Improve vmalloc address checking in show_data()

There is an unhandled corner case with the current check
which has recently been hit. The nbytes argument may be
large enough for the range being dumped to cross a
boundary between page-table mappings, and dump addresses
which are vmalloc'd in the neighboring mapping.

Check every address being dumped to see if its vmalloc'd,
not just the address passed to show_data().

CRs-Fixed: 625442
Change-Id: I255b093808177321f5202dcacea337ee333bfc63
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
MSM HOTPLUG: Fixes for correct defines for POWERSUSPEND.

Alucard :) please drink more coffee at night builds :)
MSM HOTPLUG: Corrected wake/suspend function using lcd notify.

If kernel has no powersuspend or early suspend, then it's will use

LCD Notify code, if kernel dont have that too... well BUMMER!
Go and merge one of the suspend/wake codes.

Thanks to @franciscofranco for correct lcd notify code.
msm: hotplug: Initialize and terminate mutex properly

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
INTELLI HOTPLUG: Bump to v3.6 after merging with neobuddy89 source

* Restore input_event function.
* Move boost functionality to input_event, makes sense.
* Initialize and terminate mutex properly.
* Add minimum interval to prevent recurring boost.
* Revert create_singlethread_workqueue and use High Priority again.
* Merge code style from neobuddy89
* Merge new controls and defines from neobuddy89

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Conflicts:
	arch/arm/mach-msm/intelli_plug.c
MSM HOTPLUG: Use only screen touch event for boost code.
MSM HOTPLUG: ZIP suspend/resume code for all 3 mods + add missing code.

*No need to waste code lines for same thing.
*Add missing msm_hotplug_resume for early suspend mode.
LCD NOTIFY: Big thanks to @Dorimanx
cpuboost: Add hotplug boosting

If we decide to hotplug a core then we are making a strong
statement that we think that the system load is high.  Let's
have faith in our hotplug driver(s) and boost the cpufreq
when we are hotplugging cores.

[myfluxi: shorter boost, minor style changes]

Change-Id: Id35bae6c27c39097c7aca70eebf1498ed0c3dfdc
mmc: core: continue to wait, when unblocked by signal

Mmc thread is waiting for one of following events occurs:
- current running request completion (is_done_rcv)
- new request notification arrived (is_new_req)
- urgent request notification arrived (is_urgent)
or the thread received a signal. In this case none of described events
happened.

This change process the case, when mmc thread was unblocked from wait by
signal, for example system shutdown flow.

Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
LCD_NOTIFY can be enabled/disabled by kernel config.
CONFIG: Disable not really needed controls, gain performance boost!
Thank @Dorimanx :-)
CPUFREQ ONDEMAND: tune Gov to be more responcive.

Conflicts:
	drivers/cpufreq/cpufreq_ondemand.c
INTELLI_THERMAL update: Merged with the one in Dorimanx branch + some adjustments.
CONFIG: Enable extra features for CIFS module.
cpufreq: cpu-boost: Fix cores getting stuck. Finally.

* In exclusive hotplug system, if a core is not taken down
  explicitly, it is observed that it gets stuck at input
  boost frequency.
* This issue maybe particular to only this kernel but this
  fix resolves it completely.
* Root cause seems to be removal work is lost if queued on
  sibling cores. So simply fix this by queuing on boot CPU.

* Finally, I can use min_cpus_online > 1 without any issue.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
alucard_hotplug: Simplified the code.
                 Memory consumption optimization.
cpufreq: ondemand: Remove sync thread feature

This is redundant and racy, we are syncing cpu frequencies
in cpu-boost.