init: Properly detect hardware revision

 * get_hardware_name was returning early if the hardware type was set on
   the command line, and not proceeding to parse it from /proc/cpuinfo
 * Fix it so that it always parses ro.revision :)

Change-Id: Ibdde61c9f21aad7e0b951a982e109a3cba84e3b8
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: Id4c301bbf7d17c317317a5587331fb64c04754a8
charger: Add support for non-standard charging interfaces

 * Certain devices may have multiple battery devices or broken uevent
   reporting when a power supply is disconnected.
 * Add a new BOARD_BATTERY_DEVICE_NAME to force which device to monitor.

Change-Id: I9c928295994b678b26c10cbaaabb80e606e61c15
charger: allow custom charger res

Change-Id: Ia075b2be750688946951e1f138972aae25902dbf
Example: BOARD_CHARGER_RES := device/samsung/galaxys2/res/charger
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: I1b7563e459ad20b6b2508b657f5e5291093f2852
unpackbootimg (squashed)

unpackbootimg ported forward from eclair

port forward pagesize arg from eclair

unpackbootimg should output BOARD_PAGE_SIZE

output page size in mkbootimg

add an option to override the pagesize for boot images created by nubs. ie, acer liquid mkliquidbootimg.

Update unpackbootimg to verify the Android boot image magic value. It will also search the first 512 bytes for padding.

unpackbootimg: Fix up the padding search in case the magic does not fall on a 8 byte boundary.

unpackbootimg: Fix magic search.

unpackbootimg: apparently mkbootimg no longer accepts hex values

unpackbootimg: Need to also update the written file.
Change-Id: I2717bd5ab90e4c631932788cff8561b79aa10232
enable init.d scripts

Change-Id: Ica6ae6beed6db0829b0c74cdeef998be807e331b
toolbox: dont symlink some utilities so busybox versions are used

chmod chown df ln ls lsof mkdir mount mv rm touch umount

Change-Id: Iab0867219dbdbe7b116bded06facaf0dfa3a8f17
Fix PowerHAL cpufreq permissions

The process containing PowerHAL didn't have group permissions to open
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor|max_freq|min_freq.

Modified permissions to match AOSP using the system user as the owner.

Change-Id: Idbdad8b00b8ad7d7d2a845287cccbabb58fc5aba
audio: Squashed set of commits for QCOM audio features

system/core: Add audio enums for QCELP/EVRC feature support

- Added required enums for QCELP/EVRC features.

Change-Id: Ib6b2297ebc9cac785fec99c3c2c80b1ad9b774f6

system/core: Added changes required for tunnel mode recording

- EVRC and QCELP format values are interchanged, due to
  this EVRC/QCELP are not recording with proper header.
- Added preproc_ctl, evrc/qcelp for tunnel mode recording.

Change-Id: I93db3170895387bec43a62214aa5d65aaab40c87

system/core: Add output flag for LPA and Tunnel

Change-Id: I621818502c273b2c8aba37f64a83539450a1aafa

audio: VOIP bringup and support for vocoders.

Setup permissions for MVS driver.

Add vocoder types.

Change-Id: Ie150be9b01137628ba3e3ea788d429096ba1f413

system/core: Add enums for voice call recording.

Add enums for voice call recording

Change-Id: Idd5cd19573c48a0a782bcd56cca38b4901391bbf

system/core: Add support for surround sound recording

- Add 5.1 input channel definitions and masks

Change-Id: I24375c0d9443cd6e8dd58114464bf9f528b97d43
audio: Add a flag for VOIP RX

Change-Id: Iecb8c3a7b247c0a839b4b145574e2c4f35dbce64
system/core: Add command NATIVE_WINDOW_SET_BUFFERS_SIZE

Add native window command to set user defined buffer size.

Change-Id: Ib500e65283706d860d62cb487720008d7331ce2d
include/system: JB upgrade for the MPQ8064

Include the flags for the MPQ8064.

Change-Id: Ic1bd11d341456a8b217d63cddbb19a9a92ee86c5
init: Add net device permission controls for LGE devices

These are used by lge-ril to control the state of the mobiledata
interfaces

Change-Id: Ia869f08564c1f4907240289a32a10e0f3413d8a9a
init: Let radio user manipulate service properties

I'm seeing some devices (with broadcom's btld) in which the
radio services (RIL) use the service. namespace to pass or store
data...

Conflicts:

	init/property_service.c

Change-Id: I6e3177689a12b0925064e615408bc1e0f175bcf3
init: Add a mechanism to extend the property service in device configs

Instead of every so often adding a new set of stuff here for a specific
device, let the device includes overload the property arrays. The
new device_perms.h header documents it

Change-Id: I477e27abebeb4b85abe5fcaf19333999b1625417
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
init: Add support for properties expansion in exec command

Add Android properties expansion to 'exec' arguments.
E.g.  exec /system/bin/log ${sys.usb.config}

CRs-Fixed: 390942
Change-Id: Ie520396d951e578bd9f591734a45d2f460b8f51d
init: Set the "ro.boot.emmc" property

 * QC switched to this from the old "ro.emmc" property.
 * Set both values since many things depend on this.

Change-Id: I958dbb13b08bd576ad16318683a0eac45dfc6fee
init: Increase maximum number of Android properties to 372

(cherry picked from commit 2af5dedb813b5f2fb1355ccf6e4a5de2378665d6)

Change-Id: Ic4b45a10196b24ba2e4798fef45a125f9f3dbf15