Merge dbc70cdfeb500e03a42d0cada04e838f8766496f on remote branch
Change-Id: I03481b85d7803e205167c6c934478b89727ad4f9
diff --git a/Android.bp b/Android.bp
index 782d1b7..fe8bb67 100644
--- a/Android.bp
+++ b/Android.bp
@@ -47,7 +47,6 @@
"libbase",
"libcutils",
"libhidlbase",
- "liblog",
"libutils",
"android.hardware.health@2.0",
"android.hardware.health@2.1",
diff --git a/healthimpl.cpp b/healthimpl.cpp
index b533296..413f847 100644
--- a/healthimpl.cpp
+++ b/healthimpl.cpp
@@ -27,12 +27,52 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#define LOG_TAG "android.hardware.health@2.1-service.qti"
+/*
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ *
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the disclaimer
+ * below) provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ *
+ * * Neither the name of Qualcomm Innovation Center, Inc.nor the
+ * names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior
+ * written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT
+ * RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS
+ * PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#define LOG_TAG "health_impl_qti"
#include <android-base/logging.h>
#include <health/utils.h>
#include <health2impl/Health.h>
-#include <log/log.h>
+#include <cutils/klog.h>
using ::android::hardware::health::InitHealthdConfig;
using ::android::hardware::health::V2_1::IHealth;
@@ -42,21 +82,38 @@
constexpr char ucsiPSYName[]{"ucsi-source-psy-soc:qcom,pmic_glink:qcom,ucsi1"};
+#define RETRY_COUNT 100
+
void qti_healthd_board_init(struct healthd_config *hc)
{
int fd;
- unsigned char retries = 50;
+ unsigned char retries = RETRY_COUNT;
+ int ret = 0;
+ unsigned char buf;
hc->ignorePowerSupplyNames.push_back(android::String8(ucsiPSYName));
retry:
if (!retries) {
- ALOGE("Cannot open battery/capacity, fd=%d\n", fd);
+ KLOG_ERROR(LOG_TAG, "Cannot open battery/capacity, fd=%d\n", fd);
return;
}
fd = open("/sys/class/power_supply/battery/capacity", 0440);
if (fd >= 0) {
- ALOGI("opened battery/capacity after %d retries\n", 50 - retries);
+ KLOG_INFO(LOG_TAG, "opened battery/capacity after %d retries\n", RETRY_COUNT - retries);
+ while (retries) {
+ ret = read(fd, &buf, 1);
+ if(ret >= 0) {
+ KLOG_INFO(LOG_TAG, "Read Batt Capacity after %d retries ret : %d\n", RETRY_COUNT - retries, ret);
+ close(fd);
+ return;
+ }
+
+ retries--;
+ usleep(100000);
+ }
+
+ KLOG_ERROR(LOG_TAG, "Failed to read Battery Capacity ret=%d\n", ret);
close(fd);
return;
}