nf: IDLETIMER: time-stamp and suspend/resume handling.

Message notifications contains an additional timestamp field in nano seconds.
The expiry time for the timers are modified during suspend/resume.
If timer was supposed to expire while the system is suspended then a
notification is sent when it resumes with the timestamp of the scheduled expiry.

Removes the race condition for multiple work scheduled.

Bug: 13247811

Change-Id: I52fdd2800aaf88e477df1228474b4965a9397450
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
tick-sched: Fix mismerge

This was a remnant of e2751777059f (rcu: Precompute RCU_FAST_NO_HZ
timer offsets), which was undone, along with other RCU patches, during
the LP kernel merge. Fixes the softirq storm.

Change-Id: I2583ab2225ff5fb1fac3e6d3908113cc9d2e6a91
msm: HTC: memul: Update defconfig

Change-Id: Iff6ac0eef5edec4cb6bee4c6135b97988b2a65b2
msm: HTC: memul: Device tree fixups

Change-Id: I32a2e8182de05e8285cbca054350637c51283659
msm: HTC: Update Desire 816 panel board file

Change-Id: Ic580b2fab442cac2e31af8fedcd0b1a370f8029d
msm: camera: ov13850: Don't read OTP data during probe

Willi Ye noticed the broken actuator behaviour on a5 and memul is
influenced by the compiler version used, in that the kernel built with
GCC 4.8 reads completely bogus OTP data:

GCC 4.7:
<6>[    0.585531] c0      1 [CAM] ov13850_read_fuseid: OTP valid layer = 0
<6>[    0.585812] c0      1 [CAM] ov13850_read_fuseid: OTP Module vendor = 0x3
<6>[    0.585823] c0      1 [CAM] ov13850_read_fuseid: OTP LENS = 0x61
<6>[    0.585833] c0      1 [CAM] ov13850_read_fuseid: OTP Sensor Version = 0x1
<6>[    0.585843] c0      1 [CAM] ov13850_read_fuseid: OTP Driver IC Vendor & Version = 0x31
<6>[    0.585854] c0      1 [CAM] ov13850_read_fuseid: OTP Actuator vender ID & Version = 0x47

GCC 4.8:
<6>[    0.581601] c0      1 [CAM] ov13850_read_fuseid: OTP valid layer = 2
<6>[    0.581858] c0      1 [CAM] ov13850_read_fuseid: OTP Module vendor = 0xd4
<6>[    0.581868] c0      1 [CAM] ov13850_read_fuseid: OTP LENS = 0xcc
<6>[    0.581878] c0      1 [CAM] ov13850_read_fuseid: OTP Sensor Version = 0xf0
<6>[    0.581889] c0      1 [CAM] ov13850_read_fuseid: OTP Driver IC Vendor & Version = 0x5d
<6>[    0.581900] c0      1 [CAM] ov13850_read_fuseid: OTP Actuator vender ID & Version = 0x4a

Adding printks to places of interest makes the problem go away, which seems
to indicate it may somehow be timing related. It also makes debugging it a lot
more fun (not really).

Work around the problem by delaying the first read of OTP data to the first
open() of the device node (i.e. startup of mm-qcamera-daemon).

Change-Id: I2ece709b61734532b848f1da9645844b40fc6bee
msm: camera: Add backward compatibility for KK camera blobs

Change-Id: Ic879d74ff06963313b54ab1ca7c40658f96417f0
Merge pull request #1 from CyanogenMod/cm-12.0

merge branch cm-12.0 upstream into cm-12.0 local