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
fmradio: cleanup QCOM_HARDWARE/STE_FM defs and ifdef

Change-Id: I00b5e6536511b3bedee6105bf010ee2b5f2e36ac
Fix the QCOM_BSP ifdef

We only want this when the full BSP is enabled.

Change-Id: I7bb7b0d274d1221c5bb566d4ac24419e1e134519
Merge "FM Radio: Add support for FM Radio in Android" into jb-mr1
Merge "fmradio: cleanup QCOM_HARDWARE/STE_FM defs and ifdef" into jb-mr1
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
init: Load init.carrier.rc for carrier-specific bits

Change-Id: I941230f035182e27bd62316b594ac457316c37b6
charger: do not suspend when handling home

When using Google's suspend implementation, home press should also wake
the device from suspend

Change-Id: I51f3e45c5cb418b0b3718e7223a1336876379043
rootdir: set perms on ondemand governor's up_threshold

Change-Id: I0a042a81be677821fa4099a3e19281d390dd27c3
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
Set permissions on io_is_busy node for interactive governor

Change-Id: I9dce40b0680fdb594f415aade22dbd92ebffa43c
add 8K 16K 32K 64K and 128K pagesizes in bootimage

Ported from jellybean (was Change-Id: I4bc74ad6b0a473de68c906422bcd7eac00c89793)

http://review.cyanogenmod.org/33216

Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Signed-off-by: Michael Bestas <mikeioannina@gmail.com>

Change-Id: I0ee608b74a1daefe536b9247f99368f3e043f93d
liblog: Move log messages from Diag_Lib to radio log

 * This is incredibly spammy and QC specifc. Move to radio log.

Change-Id: I775ea9d0fbe1b7d32da3f0e8faef28149f0001ac
libnetutils: add ifc_set_mtu

Change-Id: I3031e9ee38583648350f2c46baa7a9a714b9ea1e
mount: fix incorrect string length calculation

Fix bug https://code.google.com/p/android/issues/detail?id=54192
which incorrectly calculated the length of a string.

Fix compiler warning:

system/core/toolbox/mount.c:59:2: warning: initializer-string for array of chars is too long [enabled by default]
system/core/toolbox/mount.c:59:2: warning: (near initialization for 'options[16].str') [enabled by default]

Change-Id: If8663f8311c6348a730fcf731d402b57fee10cb5
backup service: fall back to /sbin/bu

Change-Id: I46c67a401da8de92d7ef81ad40c565bb1d2ef93b
init: fix indentation and tab

Change-Id: Ia832ab4df5d955b2fa2b791baf9444aca21c2571
init: provide initial pemissions for ondemand governor

also set all governor permissions a bit late

Change-Id: I5c1445b31bcaf34a535efd7438fd612ada460ea2
corkscrew: Fix build with gcc 4.8

gcc 4.8 has a new warning for unused parameters - we need to override
-Werror on that.

Change-Id: Ia2a831a96750ae105440291c636b80382a5702fa
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
libsuspend: Correctly handle errors initializing autosuspend, to avoid exceptions later on

When calling autosuspend_enable for the first time, it calls autosuspend_init(). If this is
not the first time, autosuspend_inited should be true and it only returns success. If not,
it initializes the autosuspend method to use. However, regardless of successful completion or
not, it sets autosuspend_inited to true. This causes that further calls to autosuspend_enable
cause an exception if there was an error initializing because autosuspend_ops is invalid.

This change causes autosuspend_inited to only be set to true when initialization is
successful. Further calls to autosuspend_enable will not do anything, as initialization will
probably fail again, but won't crash.

Note that the underlying cause of this is a missing feature on the kernel (either earlysuspend,
autosleep, or wakeup_count) that should be present, but a crash in unacceptable neverless.