Revert "Update baterry driver"

This reverts commit d8581fc079e06b56700ab6ec562a11fc48a8e791.
msm_xo: Make clock users vote on CXO_CLK instead of buffers

Users of internal MSM clocks derived from CXO should vote on the
CXO_CLK RPM resource rather than just the XO buffer resource. Voting
on CXO_CLK ensures the entire clock tree from the PMIC through to the
MSM clock controller is running, whereas voting for the buffer does
not guarantee the clock will not be gated off within the MPM.

Change-Id: I18199603bcd3ed2833409cb894536fa41711b3bb
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
arm: mm: Compare phys address instead of virt

Doing __va(movable_reserved_start) can overflow if
movable_reserved_start is a very high address. This
will cause the comparison to evaluate incorrectly.

This change instead compares the physical addresses, which
cannot overflow/underflow.

Change-Id: I6c82df16b77a905617aa6f59c2eeaf7acb36c76d
Signed-off-by: Jack Cheung <jackc@codeaurora.org>
msm: watchdog: store worst case watchdog slack time

Record the amount of slack the watchdog count has each time we pet.
Record this both in ticks as read from the watchdog status register, and
in nanoseconds as read from the timer. This will allow us to catch any
potential discrepancies from the expected watchdog tick rate.

Having statistics across a number of runs will allow us to see if we
commonly are close to the watchdog bark time, or if that only happens in
exceptional cases.

Change-Id: I6e6c9995d53a7093e1e9d939e9da6c0c35c3490f
Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
VFS : mount lock scalability for internal mounts

For a number of file systems that don't have a mount point (e.g. sockfs
and pipefs), they are not marked as long term. Therefore in
mntput_no_expire, all locks in vfs_mount lock are taken instead of just
local cpu's lock to aggregate reference counts when we release
reference to file objects.  In fact, only local lock need to have been
taken to update ref counts as these file systems are in no danger of
going away until we are ready to unregister them.

The attached patch marks file systems using kern_mount without
mount point as long term.  The contentions of vfs_mount lock
is now eliminated.  Before un-registering such file system,
kern_unmount should be called to remove the long term flag and
make the mount point ready to be freed.

Change-Id: Ifbb211d08f25e4c2ec3b22126b8e745ee1cee0ea
Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Pankaj Kumar <pakuma@codeaurora.org>
vfs: dont chain pipe/anon/socket on superblock s_inodes list

Workloads using pipes and sockets hit inode_sb_list_lock contention.

superblock s_inodes list is needed for quota, dirty, pagecache and
fsnotify management. pipe/anon/socket fs are clearly not candidates for
these.

Change-Id: I8ed74115fb164a96e5a726d2cb7f476f140c384d
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Pankaj Kumar <pakuma@codeaurora.org>