audio: add QCOM supported audio devices

- Add ANC headset, FM, and proxy devices

(cherry picked from commit fd629294bcaaa2cb70befc631f7596439d6cbe70)

audio: add support for QCOM audio formats

- Add support for EVRC, QCELP, and WMA formats

(cherry picked from commit 8b3476f14882afa74e9c3b778d9ccbd97ee329f0)

audio: add QCOM supported audio channels

(cherry picked from commit 2fe37a40228c97e6f3b0575d94d4ec50b4dde1d6)

system/core: Add Qcom specific audio flags

- Support for Tunnel Mode Playback
- Reserve the LPA and VOIP_RX flags

Add ifdefs for QCOM enhanced features

Change-Id: Idefa831ecb4fdb881c990ba02ab4ab0ab7871986
audio: fix build break for non QCOM

Output:
error: 'AUDIO_DEVICE_IN_ANC_HEADSET' was not declared in this scope
error: 'AUDIO_DEVICE_IN_FM_RX' was not declared in this scope
error: 'AUDIO_DEVICE_IN_FM_RX_A2DP' was not declared in this scope
error: 'AUDIO_DEVICE_IN_PROXY' was not declared in this scope

Change-Id: Ie18c623303b944544b68eecca6208607d54b1c9a
qcom-fm: audio: Add support for FM feature

-Define audio stream for FM
-Define audio source for FM RX and FM RX A2DP

Change-Id: If24e4c32916f6614e3367b4c9f2cd828562e0347

Conflicts:
	include/system/audio.h
FM Radio: Add support for FM Radio in Android

Creating interface and framework for using FM Radio
RX and TX from different vendors.

Change-Id: I1a71aed01bfffdddfabf1cdfbfa3707cb1ed016b
Signed-off-by: Benn Porscke <benn.porscke@stericsson.com>

Conflicts:
	include/system/audio.h
Fix audio recording for ICS audio blobs

This fixes audio recording when ICS_AUDIO_BLOB is set because
AUDIO_DEVICE_BIT_IN was not used with ICS. Add #ifdefs to use the old checks
again.

Change-Id: I33b37e74d33fed7ab0bc2af9907e07d799b0ec0e
fmradio: cleanup QCOM_HARDWARE/STE_FM defs and ifdef

Change-Id: I00b5e6536511b3bedee6105bf010ee2b5f2e36ac
Remove QCOM_BSP

Change-Id: I7bb7b0d274d1221c5bb566d4ac24419e1e134519
add missing string.h include needed for memset

Change-Id: Ieeb9e95919d1bea183f01da9fbab0c5c8c8d1925
Set ANDROID_PROPERTY_WORKSPACE in exec.

Change-Id: Ib827bf14b4463ca6277b79256bcc4cd70f63fc31
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>
init.rc: import evervolv script

Change-Id: I51014f1012c361be20e064fe3a01f8f6a0bba053
system/core: New stream type and flag for incall music delivery

- Add new stream type and flag for incall music delivery

Change-Id: I54d0d820d2dbb888d2e0cebdca63be2856eb00d8
system/core: Add tunnel format frame size

Add tunnel mode formats frame sizes to audio.h. This ensures frame
size definition in one place.

Change-Id: Ia01cb4cba003e538a53aaa18330ef860367859c1
Camera: Extend few data structures for QCom features.

Add message type for STATS_DATA and also the commands
which the application sends to start/stop histogram.
Also add few members to the face structure to extend
the face detection feature.

Change-Id: I3cc1c99ce40b58a029b1e048e6f84265833ac372
init: Allow basic environment variable expansion in env assignment

Allow environment variable expansion in 'export' command if the
value begins with "${_var_}" (where "${_var_}" will be replaced
with the current value of environment variable _var_).  Expansion
will only occur one time.

e.g.
export BOOTCLASSPATH ${BOOTCLASSPATH}:/system/framework/abc.jar
(cherry picked from commit 7940299507f15055851a6e8b61ae8d8a7d7f3484)

Change-Id: If9e4adfa1aba2c7a4ca243978ced3c46c2cb4d73
Do not add default route during ifc_configure

Avoid duplicate default routes.
Remove adding of default routes during interface configuration as
route add/remove operation is managed by ConnectivityService via netd.
(cherry picked from commit 4a48635c72d91cf8decb7653948fe0c76de46098)

Change-Id: I982b95a44bf91d3850ca7752e307c1b1b6a66ecf
Camera: Adds meta data message and commands

- This change adds support for meta
  data type notification messages and
  commands.

Change-Id: I4d19254be90ac43a40e7d02d74a3c7c1a2bad336
audio: Add support tunnel mode recording

Support for tunnel recording

Change-Id: I8e4a4ce4cde23296beb783c7d678db1fa8936af1
init: fix do_log

 * fix for commit 2deedfe0b1ac86ebd62d19cf7da9e7dcb508ab09

Change-Id: Ie29ce015241f99ce53906878771dd3d4f41688c3