Makefile: use ccache to speed up compilation

Change-Id: I8f72f324e84ffba3a92e63a1e15dd58af2b4a703
board-pico-keypad: enable debounce_time, to try fix multiple power button inputs.
credits: galaxyfreak

Change-Id: Ia0e49aab579b557410aae3834c3c674666481a6f
remove scsi_wait_scan module
mtd: Fix dependency for MTD_DOC200x

Fix the following build warning:

warning: (MTD_DOC2000 && MTD_DOC2001 && MTD_DOC2001PLUS) selects MTD_NAND_IDS
which has unmet direct dependencies (MTD && MTD_NAND)

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
mtd: Fix dependency for MTD_MSM_NAND

Change-Id: I08cb497636d86eb5ddfa6f2e670c862d4000d095
pico_defconfig: Increase vmalloc reserve to 32M
                CONFIG_HIGHMEM=y

Change-Id: I03a6c6749092c28f7e0b6b9aaaf408974ce664e6
cpufreq: Fix broken uevents for cpufreq governor and cpu devices

Change-Id: Iffb69acf763e14099ec77f2a5b2e08d2749cfaa0
remove acpuclock_oc.c
this file isn't needed anymore, as @joilaroi implemented this in acpuclock-7201.c

Change-Id: I5b2d92f12c457f4ae6fa85a85147d72a0739979d
update msm_vibrator.c from caf kk_3.5

Change-Id: Ib0a8f9152ab4889972167d2f50d448b216bd31e1
msm_vibrator: add a voltage toggle in sysfs

minimum mV set to 2100, maximum mV set to 3100
1750's the lowest mV, where the vibrations can actually be felt (by me)
we'll define minimum mV to 2100, so that we have a uniformity (1k mV, so that 1% = 10mV)

Change-Id: I1f1d6e73c3605bcf17c407d86272a2656dc8b50a
volume_boost: add QDSP5_VOLUME_BOOST_HAX

volume is awefully horrific if haxed in snd_ioctl, so,
we'll skip that, and use audio_open instead

incall volume is still low, but that should be haxed up in libaudio

Signed-off-by: Vineeth Raj <contact.twn@opmbx.org>
Change-Id: Id2868e7d3c579a42a2babffd334b247ea6936d25

Conflicts:
	drivers/misc/Makefile
msm_vibrator: retain set vibrator_level if values set in sysfs are out of range

Change-Id: I778e48ba20f5b47dfa3f7303994f73586d6bbd0f
Signed-off-by: Vineeth Raj <contact.twn@opmbx.org>
n_tty: Fix n_tty_write crash when echoing in raw mode

The tty atomic_write_lock does not provide an exclusion guarantee for
the tty driver if the termios settings are LECHO & !OPOST.  And since
it is unexpected and not allowed to call TTY buffer helpers like
tty_insert_flip_string concurrently, this may lead to crashes when
concurrect writers call pty_write. In that case the following two
writers:
* the ECHOing from a workqueue and
* pty_write from the process
race and can overflow the corresponding TTY buffer like follows.

If we look into tty_insert_flip_string_fixed_flag, there is:
  int space = __tty_buffer_request_room(port, goal, flags);
  struct tty_buffer *tb = port->buf.tail;
  ...
  memcpy(char_buf_ptr(tb, tb->used), chars, space);
  ...
  tb->used += space;

so the race of the two can result in something like this:
              A                                B
__tty_buffer_request_room
                                  __tty_buffer_request_room
memcpy(buf(tb->used), ...)
tb->used += space;
                                  memcpy(buf(tb->used), ...) ->BOOM

B's memcpy is past the tty_buffer due to the previous A's tb->used
increment.

Since the N_TTY line discipline input processing can output
concurrently with a tty write, obtain the N_TTY ldisc output_lock to
serialize echo output with normal tty writes.  This ensures the tty
buffer helper tty_insert_flip_string is not called concurrently and
everything is fine.

Note that this is nicely reproducible by an ordinary user using
forkpty and some setup around that (raw termios + ECHO). And it is
present in kernels at least after commit
d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to
use the normal buffering logic) in 2.6.31-rc3.

js: add more info to the commit log
js: switch to bool
js: lock unconditionally
js: lock only the tty->ops->write call

References: CVE-2014-0196
Reported-and-tested-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1)

If uaddr == uaddr2, then we have broken the rule of only requeueing from
a non-pi futex to a pi futex with this call.  If we attempt this, then
dangling pointers may be left for rt_waiter resulting in an exploitable
condition.

This change brings futex_requeue() in line with futex_wait_requeue_pi()
which performs the same check as per commit 6f7b0a2a5c0f ("futex: Forbid
uaddr == uaddr2 in futex_wait_requeue_pi()")

[ tglx: Compare the resulting keys as well, as uaddrs might be
  	different depending on the mapping ]

Fixes CVE-2014-3153.

Reported-by: Pinkie Pie
Signed-off-by: Will Drewry <wad@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
msm_vibrator: fixup range checking logic && set permissions to 0777 to sysfs entry

Change-Id: I46309fef9232297099d19a26c0a8b22fa4845469
Signed-off-by: Vineeth Raj <contact.twn@opmbx.org>
qdsp5: Add vocpcm driver
smartassH3: Enable boost pulse by default!
pico_defconfig: enable volume boost, regen
backlight notification support for pico

Patchset #1 (neldar and akent):
  Add backlight notification support v9

Patchset #2 (Christopher83):
  bln: Changes to fix the suspend problems caused by BLN
    Changes on the bln module:
     - New centralized methods for wakelock management (init, destroy, acquire and release)
     - Some changes to call the new methods

Patchset #3 (Christopher83):
  This patch includes new implementations and changes for BLN module
  to better manage existent features and provide additional in-kernel
  features.

  1) Add in-kernel management of notifications with static lights:
      Two new sysfs attributes allow to enable in-kernel notifications
      with static lights.
      Set "/sys/class/misc/backlightnotification/in_kernel_static" to 0
      if you want to disable this feature, otherwise set it to 1 to
      enable it, the default value is 0 (disabled).
      Set "/sys/class/misc/backlightnotification/static_maxtime" with the
      preferred lights timeout in seconds (from 1 to 3600 sec = 1 hour),
      the default value is 60 seconds = 1 minute.
  2) Possibility to set separate intervals for blink ON and OFF transitions:
      Two new sysfs attributes allow to set separate intervals for blink
      ON and OFF transitions.
      Set "/sys/class/misc/backlightnotification/blink_interval_on" and
      "/sys/class/misc/backlightnotification/blink_interval_off" with the
      preferred interval in milliseconds for the related blink transition,
      the default value is 500 milliseconds.
      The attribute "/sys/class/misc/backlightnotification/blink_interval"
      is still provided to ensure compatibility with other apps, if set,
      both intervals for blink ON and OFF will be updated with the same
      provided value.
  3) Possibility to set or not set static lights after the timeout of
     blinking lights:
      A new sysfs attribute allows to enable in-kernel notifications with
      static lights after the expiration of blinking timeout.
      Set "/sys/class/misc/backlightnotification/status_after_blinking"
      to 0 if you want to turn the lights off after blinking timeout,
      otherwise set it to 1 to turn the lights on, the default value is 0.
  4) Better timeout management for in-kernel blinking lights
      The code to manage the timeout of blinking lights has been revised
      to use a more reliable comparison between jiffies times instead of a
      simple counter.
  5) Use a dedicated workqueue for scheduled works for blinking and static
     lights instead of the shared workqueue
      By using a dedicated workqueue,  blinking and static lights operations
      are performed more efficiently without taking account of the various
      scheduled works from other drivers/processes.
  6) Turn the lights off after system resume if a notification is ongoing
  7) Remove duplicated calls to wakelock routines
  8) Free up the reserved space when the module is removed
  9) Some code cleanup, comments, copyright updates and other minor changes

Patchset #4 (Christopher83):
  misc: bln: Cancel pending blinking/static light works on lights off
    When the notification lights are turned off, be sure that there are
    no more pending blinking/static light works.

Other changes (thewisenerd):
  1) Make the led-class implementations compatible with this new version.
  2) Add/edit the Kconfigs

Thanks to galaxyfreak for getting this working initially.

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
Signed-off-by: Vineeth Raj <contact.twn@opmbx.org>
himax8526a: * update himax8526a use protocol B update logging

            * forgot to change the name back to original
              this is to allow touch keys to work, as htc has used a stupid method to call the keys

            * remove the htc events from himax

            * cleanup an unused variable

Change-Id: If6284a677e6bceb22b68e8dacde774b16574d417