aidl: Simplify soc check and drop prop dep
Issue: FP3-A11#202
Change-Id: I8581d22deac451d0c44e4b3135d2729da2865a36
(cherry picked from commit f1366d304989ba63b81daed96c6dd8f4521fa1d3)
diff --git a/aidl/Android.bp b/aidl/Android.bp
index 6ae219e..ff62eb6 100644
--- a/aidl/Android.bp
+++ b/aidl/Android.bp
@@ -13,7 +13,6 @@
"libutils",
"liblog",
"libqtivibratoreffect",
- "libsoc_helper",
"libbinder_ndk",
"android.hardware.vibrator-ndk_platform",
],
diff --git a/aidl/Vibrator.cpp b/aidl/Vibrator.cpp
index 8e1c674..5affc30 100644
--- a/aidl/Vibrator.cpp
+++ b/aidl/Vibrator.cpp
@@ -29,6 +29,7 @@
#define LOG_TAG "vendor.qti.vibrator"
+#include <cutils/properties.h>
#include <dirent.h>
#include <inttypes.h>
#include <linux/input.h>
@@ -42,9 +43,6 @@
#include "effect.h"
#endif
-extern "C" {
-#include "libsoc_helper.h"
-}
namespace aidl {
namespace android {
namespace hardware {
@@ -64,13 +62,14 @@
InputFFDevice::InputFFDevice()
{
DIR *dp;
+ FILE *fp = NULL;
struct dirent *dir;
uint8_t ffBitmask[FF_CNT / 8];
char devicename[PATH_MAX];
const char *INPUT_DIR = "/dev/input/";
char name[NAME_BUF_SIZE];
int fd, ret;
- soc_info_v0_1_t soc = {MSM_CPU_UNKNOWN};
+ int soc = property_get_int32("ro.vendor.qti.soc_id", -1);
mVibraFd = INVALID_VALUE;
mSupportGain = false;
@@ -129,20 +128,14 @@
if (test_bit(FF_GAIN, ffBitmask))
mSupportGain = true;
- get_soc_info(&soc);
- ALOGD("msm CPU SoC ID: %d\n", soc.msm_cpu);
- switch (soc.msm_cpu) {
- case MSM_CPU_LAHAINA:
- case APQ_CPU_LAHAINA:
- case MSM_CPU_SHIMA:
- case MSM_CPU_SM8325:
- case APQ_CPU_SM8325P:
- case MSM_CPU_YUPIK:
+ if (soc <= 0 && (fp = fopen("/sys/devices/soc0/soc_id", "r")) != NULL) {
+ fscanf(fp, "%u", &soc);
+ fclose(fp);
+ }
+ if (soc == 400 || soc == 415) {
mSupportExternalControl = true;
- break;
- default:
+ } else {
mSupportExternalControl = false;
- break;
}
break;
}