summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPig <pig.priv@gmail.com>2020-09-20 12:45:49 +0800
committeralk3pInjection <webmaster@raspii.tech>2022-01-13 16:38:27 +0800
commit7601d8914b9e21dd9ce419119a35f388c1ca9d21 (patch)
tree896a7cbed5c72919e0ddcf12c223e6f3e22f0964
parentbf4386b520a38d3aea6521e071a1e639d07cbbc6 (diff)
aidl/vibrator: Simplify soc check and drop prop dep
[npjohnson]: adapt to reflect 18.1 upstream merges as well as include now required headers. Change-Id: I8581d22deac451d0c44e4b3135d2729da2865a36
-rw-r--r--aidl/Android.bp2
-rw-r--r--aidl/Vibrator.cpp22
-rw-r--r--aidl/VibratorOffload.cpp4
3 files changed, 15 insertions, 13 deletions
diff --git a/aidl/Android.bp b/aidl/Android.bp
index e3c63a5..a346adf 100644
--- a/aidl/Android.bp
+++ b/aidl/Android.bp
@@ -13,7 +13,6 @@ cc_library_shared {
"libutils",
"liblog",
"libqtivibratoreffect",
- "libsoc_helper",
"libbinder_ndk",
"android.hardware.vibrator-V1-ndk_platform",
],
@@ -56,7 +55,6 @@ cc_library_shared {
"liblog",
"libqtivibratoreffect",
"libqtivibratoreffectoffload",
- "libsoc_helper",
"libbinder_ndk",
"android.hardware.vibrator-V1-ndk_platform",
],
diff --git a/aidl/Vibrator.cpp b/aidl/Vibrator.cpp
index fab0415..4b0d649 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 {
@@ -57,6 +55,13 @@ namespace vibrator {
#define CUSTOM_DATA_LEN 3
#define NAME_BUF_SIZE 32
+#define MSM_CPU_LAHAINA 415
+#define APQ_CPU_LAHAINA 439
+#define MSM_CPU_SHIMA 450
+#define MSM_CPU_SM8325 501
+#define APQ_CPU_SM8325P 502
+#define MSM_CPU_YUPIK 475
+
#define test_bit(bit, array) ((array)[(bit)/8] & (1<<((bit)%8)))
static const char LED_DEVICE[] = "/sys/class/leds/vibrator";
@@ -64,13 +69,14 @@ static const char LED_DEVICE[] = "/sys/class/leds/vibrator";
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,9 +135,11 @@ InputFFDevice::InputFFDevice()
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) {
+ if (soc <= 0 && (fp = fopen("/sys/devices/soc0/soc_id", "r")) != NULL) {
+ fscanf(fp, "%u", &soc);
+ fclose(fp);
+ }
+ switch (soc) {
case MSM_CPU_LAHAINA:
case APQ_CPU_LAHAINA:
case MSM_CPU_SHIMA:
diff --git a/aidl/VibratorOffload.cpp b/aidl/VibratorOffload.cpp
index 8c4e877..b9729b9 100644
--- a/aidl/VibratorOffload.cpp
+++ b/aidl/VibratorOffload.cpp
@@ -45,10 +45,6 @@
#include "include/Vibrator.h"
#include "VibratorPatterns.h"
-extern "C" {
-#include "libsoc_helper.h"
-}
-
namespace aidl {
namespace android {
namespace hardware {