summaryrefslogtreecommitdiffstats
path: root/libfm_jni
diff options
context:
space:
mode:
authorAdrianDC <radian.dc@gmail.com>2016-01-05 22:43:09 +0100
committerAdrianDC <radian.dc@gmail.com>2016-01-07 02:57:04 +0100
commit8c0da859783217b3c2cc5d13a11d20eaf36564d9 (patch)
tree62990a40e7d0b33a202f3521e2fbf0d1b652cc3f /libfm_jni
parentecf9478f2a22b952c0763c94d2f6b527ad4fc302 (diff)
downloadandroid_hardware_qcom_fm-8c0da859783217b3c2cc5d13a11d20eaf36564d9.tar.gz
android_hardware_qcom_fm-8c0da859783217b3c2cc5d13a11d20eaf36564d9.tar.bz2
android_hardware_qcom_fm-8c0da859783217b3c2cc5d13a11d20eaf36564d9.zip
libfm_jni: Add support for internal antenna hardware
* Devices defining the hw.fm.internal_antenna property will switch to internal antenna to allow proper FM receival Change-Id: I3dabccb27dee8110def3b6c46bbb61252a6e3267 Signed-off-by: AdrianDC <radian.dc@gmail.com>
Diffstat (limited to 'libfm_jni')
-rw-r--r--libfm_jni/FM_Const.h1
-rw-r--r--libfm_jni/FmRadioController.cpp7
2 files changed, 8 insertions, 0 deletions
diff --git a/libfm_jni/FM_Const.h b/libfm_jni/FM_Const.h
index 2f850d2..ef4ee2d 100644
--- a/libfm_jni/FM_Const.h
+++ b/libfm_jni/FM_Const.h
@@ -118,6 +118,7 @@ typedef unsigned long ULINT;
const char *const FM_MODE_PROP = "hw.fm.mode";
const char *const FM_VERSION_PROP = "hw.fm.version";
const char *const FM_INIT_PROP = "hw.fm.init";
+const char *const FM_INTERNAL_ANTENNA_PROP = "hw.fm.internal_antenna";
const char *const SCRIPT_START_PROP = "ctl.start";
const char *const FM_SOC_DL_SCRIPT = "fm_dl";
const char *const SCRIPT_STOP_PROP = "ctl.stOP";
diff --git a/libfm_jni/FmRadioController.cpp b/libfm_jni/FmRadioController.cpp
index 613a062..ece88e7 100644
--- a/libfm_jni/FmRadioController.cpp
+++ b/libfm_jni/FmRadioController.cpp
@@ -225,6 +225,13 @@ int FmRadioController ::Pwr_Up(int freq)
ret = FM_FAILURE;
goto exit;
}
+
+ if (property_get_bool(FM_INTERNAL_ANTENNA_PROP, false)) {
+ ret = FmIoctlsInterface::set_control(fd_driver,
+ V4L2_CID_PRV_ANTENNA, 1);
+ ALOGD("Internal antenna set, status : %d\n", ret);
+ }
+
return FM_SUCCESS;
} else { //if time out
ret = FM_FAILURE;