toolbox: implement rm -f flag

this prevent compatibility errors in scripts (file "-f" not found)
The force flag will not return an error if the file doesnt exist.

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>

Change-Id: I3267963284ee247629da5ab299e900c6e4a4ac68
libnl2: Add the missing callback handler functions

This is required to build newer iw nl80211 wireless tools (v3+)

Based on a commit by TI-OpenLink (nl_socket_set_cb only)
which doesn't look like correct, so fix it and complete those
to be compatible with opensource upstream...

headers of these missing functions are in external/libnl-headers/netlink/socket.h

Change-Id: If2bd6f998aa2712e8aeb581a6d8ce88ebf48b05d
system/core: Support for audio routing to WiFi Display device

Change-Id: I4569425b6a10987df225c6d66d2addd07327f881

Conflicts:

	include/system/audio.h
init: Fix the charging mode mess

 * Clean this mess up so that it actually works, even for lpm.rc only.
 * Add option from arcee to override the custom charging mode parameter.

Change-Id: I025e61714f42bb1409aac1a68d01b12d9fed1237
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: I3045bf17a4d962cc5f0e6a951472916412ac0d0d
charger: allow custom charger res

Example: BOARD_CHARGER_RES := device/samsung/galaxys2/res/charger

Change-Id: I4cf359974475c06d219cb92c38efa2b8223ae367
Merge "libnl2: Add the missing callback handler functions" into ics
Merge "toolbox: implement rm -f flag" into ics
Merge "system/core: Support for audio routing to WiFi Display device" into ics
Merge "charger: allow custom charger res" into ics
Fix Samsung chargermode logic

Samsung devices with BOARD_CHARGING_MODE_BOOTING_LPM get their config
out of lpm.rc. Everybody else still needs the hardware-specific init.rc
files to read charger mode config out of.

Change-Id: Ibbe0446d2b18b018258b7b2951a88014709006ac
init: Fix charger mode for qcom devices

The filesystem exclusion logic before the Samsung lpm stuff was
merged was completely broken and always returned true. (i.e.,
fs hooks always ran)

--------
if (strcmp(bootmode, "charger") != 0 || strcmp(battchg_pause, "true") != 0)
--------
These 2 conditions are never false simultaneously (they're alternative
charger mode flags), so the filesystem mount hooks always happened.

The LPM support patch fixed that logic, but broke other devices in
the process, since some implementations use stuff from /system (or even
link with bionic) for charger mode.

This patch makes the exclusion logic apply _only_ to Samsung LPM
devices or those supported by the original AOSP code
(androidboot.mode=charger), and lets every other device run the
fs hooks

Change-Id: I26006fe65761ad86fa6f4cfa5681d9b008844e64
Fix typo in queue_property_triggers ident

Signed-off-by: Chris Dearman <chris@mips.com>
Change-Id: I5f18ccb0912b9bb89c9f5104f9505c610c109af8
Kindle Fire USB ID

Adds Lab126's USB id to the known USB Devices

Change-Id: I3cd5d90bba68123d5d3d2d67e1ab7d60137eb388
Signed-off-by: Jon Sawyer <jon@cunninglogic.com>
init: Add noexec mount option

Change-Id: Ic13d66797a86d38432e79af0c3387ce986d0a19f
init: make chmod/mkdir/chown not follow symlinks

This change brings init's do_chmod, mkdir, and do_chown into line
with open's O_NOFOLLOW semantics, causing them to fail when the
last element of their target path is a symlink.

Change-Id: If00e1a25cfe17ef6f738af4bf0541abd0c1b084b
init: Fix chown and chmod for write-only files

Change-Id: I570b631ced11ab104aafe7ebfe71bae4e380d8af
Add error handling to SocketClient::sendData

Return failure and set errno if mSocket isn't valid.

Change-Id: I579114d435db46d0bb5682167ef34bebe061a8f8
init: Fix LPM for charging_mode_booting

Change-Id: I8093a9c265bdc2331235baa2c0294031b1b9c06b
Merge branch 'ics' of git://github.com/CyanogenMod/android_system_core into ics