kernel:workqueue: Add check to work and worker objects to make sure they are not passing a NULL var to process_one_work func
Revert "kernel:workqueue: 3.4.48 fixups for Unable to handle kernel NULL pointer dereference at virtual address 00000004: PC is at process_one_work+0x3c/0x4a4: LR is at worker_thread+0x16c/0x370"

This reverts commit 59b452006e58385c0031c6d15bc01efe7e8c7229.
Revert "kernel:workqueue: Add check to work and worker objects to make sure they are not passing a NULL var to process_one_work func"

This reverts commit 6dd454f925ea3a63af846423e11132341748db1e.
kernel:workqueue: Try a CM rebase
workqueue: Yes more B.S. for this nagging bug
Revert "workqueue: Yes more B.S. for this nagging bug"

This reverts commit 54f035ee571e1bea93d06769049716f4dfb202e1.
Revert "kernel:workqueue: Try a CM rebase"

This reverts commit f9600fcbe22bbe2d4b5c97b88bf9e09999d1208d.
Revert "workqueue: reimplement WQ_HIGHPRI using a separate worker_pool"

This reverts commit 024e3d4e2dbfd2cb3ba7992488c43239c26f7264.
Revert "workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()"

This reverts commit 03559cd379ea17388997f268ad978edb9cb187ee.
Revert "workqueue: separate out worker_pool flags"

This reverts commit 0411ca411a3be2b081c1f01177491fc859cedb3e.
Revert "workqueue: use @pool instead of @gcwq or @cpu where applicable"

This reverts commit d915e57fbb9cc2a1fcd6f4b69fb0f9c8c8b25eda.
Revert "workqueue: factor out worker_pool from global_cwq"

This reverts commit 3e2a23a469e38e9e0677b880810b210c1823c89d.
Revert "workqueue: don't use WQ_HIGHPRI for unbound workqueues"

This reverts commit 49bd39447878440b0a06de084e3122ac4d9b1ac7.
Add and enable kexec hardboot support.

Consists of squashed commits from:
https://github.com/mkasick/android_kernel_samsung_jfltespr.git

commit 750bb80f2854d6af5273e55ea179a4c60b2d9efc
Author: Mike Kasick <mike@kasick.org>
Date:   Sun Jun 2 23:11:24 2013 -0400

    Clear download mode flag on kexec hardboot.

commit 138ba851ee949af291eae914f410aea2d85ed9f5
Author: Mike Kasick <mike@kasick.org>
Date:   Sun May 12 22:39:26 2013 -0400

    Support hard booting to a kexec kernel.

    See KEXEC_HARDBOOT config option help for details.

commit 3ab41019a7af08395c233bebb605c2f1ea49c8e0
Author: Mike Kasick <mike@kasick.org>
Date:   Sat Jul 7 23:10:24 2012 -0400

    Support copying of kernel tagged list (atags) in the decompressor.

    This is needed to hardboot kexec a kernel with a new tags list (including a
    new kernel command line), since the new atags would otherwise be lost with
    the limited kernel memory mapping.  Without this patch, a hardboot-kexec'd
    kernel uses the atags provided by the bootloader.

commit 446c3d7a6631877f7dc9142359cf0eae300e9a08
Author: Mike Kasick <mike@kasick.org>
Date:   Sat Jul 7 23:09:39 2012 -0400

    Enable caching and buffering for all of physical RAM in the decompressor.

    Old method is to enable caching and buffering only for the 256 MB at the
    start of the decompressor image.  This makes a hardboot-kexec'd kernel very
    slow to decompress since the decompressor is located far above the kernel
    destination.  This patch reduces boot time from 35 to 8 seconds on epicmtd.

commit d3646be88f5b1f9a8ae714c922ec50c681b7157f
Author: Mike Kasick <mike@kasick.org>
Date:   Sat Jul 7 19:00:47 2012 -0400

    Enable and fix kexec syscall support.

    Use mem_text_write_kernel_word when assigning reboot_code_buffer parameters
    to avoid protection faults (writes to read-only kernel memory) when
    CONFIG_STRICT_MEMORY_RWX is enabled.

Change-Id: I0400ad00fcf02b8ad017f8aa371724a659b930b4
defconfig: Add kexec flags for kt_defconfig
sched: Set MC (multi-core) sched domain's busy_factor attribute to 1

busy_factor attribute of a scheduler domain causes busy CPUs (CPUs
that are not idle) to load balance less frequently in that domain,
which could impact performance by increasing scheduling latency for
tasks.

As an example, consider MC scheduler domain's attribute values of
max_interval = 4ms and busy_factor = 64. Further consider
max_load_balance_interval = 100 (HZ/10). In this case, a non-idle CPU
could put off load balance check in MC domain by 100ms. This
effectively means that a CPU running a single task in its queue could
fail to notice increased load on another CPU (that is in same MC
domain) for upto 100ms, before picking up load from the overloaded
CPU. Needless to say, this leads to increased scheduling latency for
tasks, affecting performance adversely.

By setting MC domain's busy_factor value to 1, we limit maximum
interval that busy CPU can put off load balance checks to 4ms
(effectively 10ms, given HZ value of 100).

Change-Id: Id45869d06f5556ea8eec602b65c2ffd2143fe060
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
driver:video: Remove some dmesg log spam
Disable Screen Off Mhz Call:  GOES LIVE

Conflicts:
	drivers/cpufreq/cpufreq.c
	drivers/sensorhub/ssp_i2c.c

Change-Id: I03156ee08d21d393e0c111a0d1cf1f082d8fb827
Squash of two EHCI: HSIC commits from caf

EHCI: HSIC: disable pm runtime device before remove hcd
  Merge order of commits 21a480e and e50d914 introduced runtime pm
  disable depth counter imbalance fixed by e50d914 again. Fix the
  bug by disabling runtime pm before removing HCD.

Change-Id: I249a4f63db3a975652e6ce15545584e41bae284b
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>

EHCI: HSIC: fix driver removal function for msm_hsic_host
  Upon driver removal function we need to disable the device pm runtime
  in order to, first, undo all the logic done in probe and second, to keep
  balanced disable depth counter in case of platform driver unbind.

  However the removal function can be called also in consequences of
  platform_device_del(), in this case the platform device was already
  disabled and removed so if we call pm_runtime_disable() again we
  decrease the disable_depth for the second time causing for unbalanced
  counter.

  Therefore we use an if statement to check if the device was already
  removed or not.

CRs-Fixed: 445674
Change-Id: I5ff6b20d0f8e811a5c673903ca340f7bcc2e2d78
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>