MSM HOTPLUG: optimize suspend/resume functions. Read More.

Mods based on neobuddy89 source.

*Set LCD Notify and main suspend/resume if set in config.
*If kernel has none of the 3 supported suspend/resume structures,
do not use any suspend/resume functions.
*Optimize defines to MAX shrink in code :)

Thanks to neobuddy89
https://github.com/neobuddy89/hammerhead_kernel_caf/commit/310f1e1411c32704dc449debd163396f0f71fa1c
Intelli HotPlug: disable input boost code for now.
MSM HOTPLUG: increase DEFAULT_FAST_LANE_LOAD to 120.

My CPU's going crazy on idle, always jump to max and all enabled.

after setting DEFAULT_FAST_LANE_LOAD to 120, now calm as should.
Revert "Intelli HotPlug: disable input boost code for now."

This reverts commit 37fbfbd79179d55013c51ec8b3fb6b55eca6bb21.
MSM HotPlug: Mark suspend/resume helpers with ifdef for suspend code.
cpufreq: cpu-boost: Implement additional checks

* Return early without calculations if last
  input_boost_work is pending.
* Disable input boost if input_boost_freq value is
  less than or equal to min possible frequency.
* Disable hotplug boost if plug_boost_freq value is
  less than or equal to min possible frequency.
* When we check for current frequency greater than
  boost frequency, also check if boost is removed
  properly or not. If not, do so.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
intelli_plug: Use workqueue for touch boost

* Similar to faux version, we will use intelliplug_wq
  for touch boost.
* Implement boost lock, so cores boosted don't go
  offline immediately by hotplug function!

Thanks to @Dorimanx for reporting issue.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
intelli_plug: Further modifications for boost lock

* Add attribute for boost lock duration.
* Use optimized value for boost lock duration.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
intelli_plug: Apply boost_lock only to cpu_down

* With intelli_plug, we have cpu_up and cpu_down in single
  function.
* If we use boost_lock in same function, cpu_up is blocked
  as well.
* So separate boost_lock_check and apply it only to
  cpu_down.

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

Conflicts:
	arch/arm/mach-msm/intelli_plug.c
intelli_plug: Remove a redundant check

* We dont require to check boosted_cpus > 1
  because boosting will never occur for
  touch_boosted_cpus = 1.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
INTELLI HOTPLUG: Merge more clean and simple way to set tunnables.

Change merged from neobuddy89 source. thanks.