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: remove QCOM_FM_ENABLED ifdefs

* CM is using a different ifdef here that enables these by default.

Change-Id: I07249d1c3555446238d846901481b13634967aab
audio: Expose a few things previously under QCOM_HARDWARE

 * Allow everyone to use a few of these device types without
   setting QCOM_HARDWARE. Currently there is qute a mess due
   to the way QC is handling branches, when we figure out a
   good solution this can be reverted.

Change-Id: I75447a21ad1cf26e9683d2eac488a1b1238e5adb
audio: Fix input enums for pre-4.2 audio blobs

Change-Id: Iec9f8d915d069168664d2cd873574db7fe5cddc7
Fix the build for devices with ICS/MR0_AUDIO_BLOB

The previous commit only exposed AUDIO_DEVICE_IN_ANC_HEADSET
and AUDIO_DEVICE_IN_PROXY if not defining this.

Change-Id: I7b644bb022f32fd978a85e003a97cbf27a17c809
Merge tag 'android-4.4.1_r1' into HEAD

Android 4.4.1 Release 1
Revert "init: Add vendor-specific initialization hooks"

This reverts commit caaa5f1b3befb1587bca159dbda512c24cd10772.

Change-Id: I8137270e3eef9b8681a7c2bdde4a51c052779fb1
init: add detection of charging mode

-when BOARD_CHARGING_MODE_BOOTING_LPM is set to a path_to_sysfs_attribute
 then it and lpm.rc will be read accordingly.

-adapted from techomancer's original change:
 (add detection of charging mode, remove the code for parsing param.lfs,
  since it is not needed)
 http://goo.gl/I19GG

Change-Id: I64c2379225e00afaaf17ee03eab67546781668f8
init: Add option to disable the initlogo

 * It looks like crap on some hardware due to different framebuffer
   formats. Just disable it if the option is set.

Change-Id: Iad8ca25072fd16ca984050c6605bc1646821bee1
Allow a device to define the max number of service groups in init.h

Certain proprieatary binaries (such as tcmd for instance) require
more than 12 supplementary service groups.  By definiing:
TARGET_NR_SVC_SUPP_GIDS := in BoardConfig this can now be changed
per device.

Change-Id: I8f968adc21768ca90232ded7b7e1ffa68dc7ea78
Init: Allow building of init that is compatible with second init boot

When using second init init has already set up /dev /proc, etc
this will prevent duplicate mount points for those
Define BOARD_USE_NO_DEVFS_SETUP := true to use

Change-Id: I5620664b32e08f39da7ef7c7f9c3824d01f930d6
init: define BOARD_CHARGING_CMDLINE parameters

Change-Id: I722e49e2a13418bf887c361c85e9d102168ca973
init: Do not build logo.c when initlogo is disabled

For now, logo.c was build even if TARGET_NO_INITLOGO was true.
Changing tty to KD_GRAPHICS is now done in init.c as it should be, when
the logo is not present.

Change-Id: Ifabd9aebc9c0ad8d6903e963dfac031a6dac32e1
init: Check for symlinks with lstat() not open()

Using open() with an O_NOFOLLOW flag will result in a file falsely
being determined to be a symlink if the open fails for another
reason.

For example, a character device that isn't ready due to the
underlying hardware not being initialized yet will fail to open()

An example of this are any CG2900 device files prior to
execution of ste-cg29xx_ctrl

This uses lstat() instead of open() with O_NOFOLLOW to check
whether a file is a symlink or not.

Change-Id: Ie0d8d94b426c84c29b1b04d41a4cc15536cb307c
Add support for -R (recurse) to init chown builtin.

This is helpful for setting ownerships on entire directory trees,
such as sysfs and selinuxfs, particularly when the precise set of
files is dynamically generated at runtime.

Change-Id: I81070ea36fd7ffcab4ee8b3ef1bb0028d4b7839c
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Change setsebool syntax to be consistent with other init built-ins.

Change setsebool syntax from name=value to name value.
This is to make it consistent with setprop and similar commands.
Update both the init built-in command and the toolbox command
for consistency.

Change-Id: I2c8e016ba26731c4a2ad4a49ae3b89362bf8f8a8
init: Fix some more mergefails

Change-Id: I6fbb230e0f0f4e93f25fb571ae2fb6ccfd12398e
Re-order Board Flags

Change-Id: Ia57aae1d7c12a2cecbc560861d8be18e7d50c63f
init: Add "export_rc" command to export env from a specified file

New export_rc command to import environment variables from
a specified file at the time the command is executed.

Differences between "import" and "export_rc":
1) export_rc can only import environment vars
2) export_rc is performed when the command
   is executed rather than at the time the
   command is parsed (i.e. "import")

Example:
in /init.rc:
    on post-fs
        export_rc /system/etc/init.xyz.rc

in /system/etc/init.xyz.rc:
    export LD_PRELOAD /system/lib/libxyz.so

Change-Id: If616dea5b508c27e9f7a95b5e9db696ecea2fdee
Revert "ueventd: Add bootdevice symlink"

This reverts commit 9914ac71e88bda8ba6fbddba09b6b7439a0a3dc8.

Change-Id: I48ae2b461672931a68725d088e1e4cc59b2573f5