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: I19df764d242a18198618614b6486d4b3ee36396b
Signed-off-by: Benn Porscke <benn.porscke@stericsson.com>
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: I19df764d242a18198618614b6486d4b3ee36396b
Signed-off-by: Benn Porscke <benn.porscke@stericsson.com>
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.
Merge branch 'jellybean' of git://github.com/CyanogenMod/android_system_core into jb-412