hardware_legacy: allow alternative vibrator implementations

The native vibrator code in libhardware_legacy assumes the vibrator
is always controlled by inputting timers into sysfs (at
/sys/class/timed_output/vibrator/enable). This isn't necessarily true,
there's an upcoming device which has the vibrator controlled by ioctl()
calls.

This patch lets the device configuration specify an alternative
vibrator implementation throught the variable BOARD_HAS_VIBRATOR_IMPLEMENTATION

That variable should point to a sourcefile that implements the vibrator
"int sendit(timeout_ms)" function, like this:

BOARD_HAS_VIBRATOR_IMPLEMENTATION := ../../device/vendor/model/vibrator.c

Change-Id: I78d60480f87ef00a0bab096d7f42e47501def936
power: add dvfs stub

Change-Id: I2fb7a126ca34eb8265d1709e4c51c274459625a2
wifi: Choose correct nvram file on Samsung hardware

 * Samsung's US devices have at least three different Wi-Fi variations.
 * The kernel driver writes out the variant in /data/.cid.info
 * macloader will prime this file
 * Read the file and choose the correct nvram_net.txt

Change-Id: I0e6aec7b622b4b90d849e63928e0352d0d730d8a
Add support for ICS audio blobs

Change-Id: If0cde8860a5cb1fa63a40787bfe001cf18e9be6d
ifdef usage of legacy audio enum conversion

Without this, devices compiling from source using this HAL layer
as a static whole library will break as they already use the new enum.

Change-Id: I710dbc8b013edd5e59a04a0956c69b49da35b5ba
wifi: add suport for WIFI_EXT_MODULE

Some wifi modules have dependencies on others (for SDIO, usually).
Use WIFI_EXT_MODULE_PATH to specify such dependencies

Change-Id: Ie8e746c1e69712be78d420d8e8ae8b015564a03d
wifi.c: allow devices to specify driver delay if needed

This appears to be needed on the Samsung exynos4 tablets in order to enable wifi within a reasonable amount of time.

Reference: http://review.android.git.linaro.org/#/c/1875

Change-Id: I4316ac03447870c04765427d202d9d35937c65f1
audio policy: To enable FM add FM device and volume api

Change-Id: Iaa17aad348675e8077b45d751b930b7ce3878782
audio policy: Added AMR and EVRC/QCELP formats for tunnel mode recording

Change-Id: I302638ed3bfe25194fa5a3d40a25c4428bdcc524

audio policy: Added EVRC and QCELP for 7x27A HAL compilation

Added EVRC and QCELP for 7x27A HAL compilation

Change-Id: Id7bad9cf995409559abbf08806dafdbca2916bfb
libaudiohw_legacy: Add second #ifdef to set channels when using legacy
audio and not using ics audio blobs.

Change-Id: Icb17006765bf30b69229571cd181f7160d301a87
audio: Add missing enum

Change-Id: I385588df136f0986e64824643b7a11c9130a6a46
libhardware_legacy/wifi: add workaround for ar6000 driver

The ar6000 driver requires the interface to be brought up in order
for scanning to function. Without this change, the supplicant fails
on first activation of wifi, and will only connect successfully
after multiple retries. This workaround is also necessary to fix
Wi-Fi hotspot mode (in conjunction with another change to
system/netd).

Backported from CM7.
Fix build error caused by ar6000 workaround

Some devices don't specify DRIVER_MODULE_NAME or DRIVER_MODULE_PATH.
Revert "audio policy: To enable FM add FM device and volume api"

This reverts commit ab65d4ef0a5b4be228732f0010e598ab2337d835.

Conflicts:
	include/hardware_legacy/AudioSystemLegacy.h