input: Updates to Phantom Key Presses filter

Changes for version 2 of the filtering module:
- Use a mutex inside HOME key scan and report routines
- Replace custom bit operations with related bitops routines (__set_bit, __clear_bit and test_bit)
msm: vidc: Check validity of userspace address

Before writing to a userspace address, verification
of the validity of user space address is required.

Change-Id: I9141e44a6c11aaf3f4d57c08bb0dd26a7b214f34
CRs-fixed: 556356
Signed-off-by: Deepak Verma <dverma@codeaurora.org>
ALSA: pcm: check for integer overflow during multiplication

Channel info data structure is parsed from userspace and if
user does not set the no. of channels correctly, it could lead
to security vulnerability if we don't check for overflow when the
no. of channels is multiplied with pcm bit width. Add a condition
to check for overflow during multiplication.

CRs-fixed: 537818
Change-Id: Ia3c31406dd8b7627ea704c076643c0348582da28
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
base: genlock: Zero a structure before sending it to user space

In the handler for GENLOCK_IOC_EXPORT zero the entire genlock_lock
structure before passing it to the user.

CRs-fixed: 552303
Change-Id: Ic0dedbad257bf0a448d0bf67a14a3932b7925bfc
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
qt602240_ts: updated touchscreen driver in according of Multi-touch protocol
our device is a type A device, in according with multi-touch protocol
https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt
i made these changes on event semantics:
-changed ABS_MT_TOUCH_MAJOR to ABS_MT_PRESSURE
-changed ABS_MT_WIDTH_MAJOR to ABS_MT_TOUCH_MAJOR
-some cleanups with BTN_TOUCH report key

Note: in order to work is necessary to remove the flag BOARD_USE_LEGACY_TOUCHSCREEN in the BoardConfig of the device
Clone ion.h to msm_ion.h

 * Prevents compile error in userspace