system/core: Add MSM specific formats, devices and channels.

- Add support for MSM formats, devices and channels

Change-Id: I0f613e25ae7e5bafa126ab582551807711ab9db6
(cherry picked from commit 3535a5eafaa700ae58d44c43c4491f3fbb90e060)
(cherry picked from commit d725c0473b0c7f51d157b8722131ed7b45f878d7)
(cherry picked from commit 8d43d24d91e7bcc8daef40c6e9f99fd8dcd23266)
audio: Fix submix output device check.

-AUDIO_DEVICE_IN_FM_RX is incorrectly matched
 with AUDIO_DEVICE_OUT_REMOTE_SUBMIX because
 method audio_is_remote_submix_device is not
 checking for AUDIO_DEVICE_BIT_IN.

-Fix is to add AUDIO_DEVICE_BIT_IN while doing
 the check for AUDIO_DEVICE_OUT_REMOTE_SUBMIX.

CRs-Fixed: 566837

Change-Id: I47ca3bd151da848a444d4bcf83a56e866f20d4f7
(cherry picked from commit f8573b76d6c03e1a9eff34e093056a810f898509)
(cherry picked from commit ae982a488c68e0cd06622e7ee7a31fddb1f4d131)
init: Add vendor-specific initialization hooks

Allow optional vendor-specific initializations
within init.  This can be used for runtime
initialization setup that init rc scripts do
not support.

Change-Id: I7623a0d59b18f9ec8e3623958e2f7ccd72b877bf
(cherry picked from commit a36f7998a135a63934465889f089f96deefe7c42)
(cherry picked from commit 2ce27688b13bbc9a2237442ec2d6a554325ef658)
(cherry picked from commit 8e4dc4f79011bf0a8832e8d1251fc17b3e542057)
ueventd.rc: Change owner of graphics drivers to system

iWifi Display service needs permission to open these drivers.

Change-Id: I1d9e4ae372f09ecf4104888a9910d09903d892d1
(cherry picked from commit f087420bf5eada3017e107a3a8da4e74f683da18)
(cherry picked from commit 1b3f9226cd3ad681a0ef08038d874921ca62ee4c)
(cherry picked from commit 5b4becc1b814b0f9e96d4f3aaec380d74f4b0739)
ueventd: Add bootdevice symlink

Create the /dev/block/bootdevice symlink to point to the
boot device information based on kernel command line.
This decouples references to the boot device from the
actual device nodes (e.g. eMMC, UFS).

Change-Id: I5e5e3e07ff38c8002ac3f188df80284f1f47892b
(cherry picked from commit fbc0f366d99e73cce250822c80ce2141a4b0e287)
(cherry picked from commit fe8101abd3456c32c25ed3f88df7883e84b6a521)
(cherry picked from commit 0940a7460112e0a5024df7d6320e4cd3ac5aaa15)
system: core: increase the polling time for remount_ro

eMMC4.5 introduces an addition of cache on the device.
We experienced long flush durations in some of the devices,
and therefore the adb reboot resets the target before the flush
completes.

CRs-Fixed: 562350
Change-Id: I3f54901e12ffd232a7696dadfde1edec99ef91c6
Fix a bunch of small system/core bugs.

Missing frees in:
  adb/file_sync_client.c
  fastboot/fastboot.c
  libsparse/output_file.c

Missing closedirs in:
  adb/file_sync_service.c
  cpio/mkbootfs.c
  libcutils/dir_hash.c

Potential buffer overrun in:
  gpttool/gpttool.c

Incorrect NULL check in:
  libsparse/backed_block.c

Bug: https://code.google.com/p/android/issues/detail?id=61564
Change-Id: If97838a9e73a77aef7f416c31c237ce1fca4ce21