From 2c7791a42728ffce5474fa8b7c60b9685ae74013 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Thu, 4 May 2023 11:12:25 +0800 Subject: [PATCH] powerstats: update NFC sysfs path Bug: 280560362 Test: pts-tradefed run singleCommand pts -m PtsPowerTestCases Change-Id: I727627a343c9c52e67f252a0ce6362667f411efd Signed-off-by: Darren Hsu --- powerstats/felix/service.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index 2ccabb0..2de3797 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -28,6 +28,7 @@ #include #include #include +#include using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; @@ -140,6 +141,18 @@ void addGPU(std::shared_ptr p) { stateCoeffs)); } +std::string getNfcPath() { + struct stat buffer; + int size = 128; + char path[size]; + for (int i = 0; i < 10; i++) { + std::snprintf(path, size, + "/sys/devices/platform/10970000.hsi2c/i2c-%d/i2c-st21nfc/power_stats", i); + if (!stat(path, &buffer)) break; + } + return std::string(path); +} + int main() { LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting."; @@ -160,7 +173,7 @@ int main() { addWifi(p); addTPU(p); addUfs(p); - addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats"); + addNFC(p, getNfcPath()); addUwb(p); addPowerDomains(p); addDevfreq(p);