powerstats: include WLAN data provider in PowerStatsHAL

The specific device uses QC solution on wifi. Include WLAN state
residency data provider in PowerStatsHAL for the device.

Bug: 231397821
Test: dumpsys android.hardware.power.stats.IPowerStats/default
Change-Id: I268dd007c9998c9453107a7ff9507203aee0f87c
Signed-off-by: Darren Hsu <darrenhsu@google.com>
diff --git a/powerstats/Gs201CommonDataProviders.cpp b/powerstats/Gs201CommonDataProviders.cpp
index 35e405d..aca40b1 100644
--- a/powerstats/Gs201CommonDataProviders.cpp
+++ b/powerstats/Gs201CommonDataProviders.cpp
@@ -25,6 +25,7 @@
 #include <dataproviders/PowerStatsEnergyConsumer.h>
 #include <dataproviders/PowerStatsEnergyAttribution.h>
 #include <dataproviders/PixelStateResidencyDataProvider.h>
+#include <dataproviders/WlanStateResidencyDataProvider.h>
 
 #include <android-base/logging.h>
 #include <android-base/properties.h>
@@ -41,6 +42,7 @@
 using aidl::android::hardware::power::stats::IioEnergyMeterDataProvider;
 using aidl::android::hardware::power::stats::PixelStateResidencyDataProvider;
 using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer;
+using aidl::android::hardware::power::stats::WlanStateResidencyDataProvider;
 
 // TODO (b/181070764) (b/182941084):
 // Remove this when Wifi/BT energy consumption models are available or revert before ship
@@ -528,6 +530,12 @@
             cfgs));
 }
 
+void addWlan(std::shared_ptr<PowerStats> p) {
+    p->addStateResidencyDataProvider(std::make_unique<WlanStateResidencyDataProvider>(
+            "WLAN",
+            "/sys/kernel/wifi/power_stats"));
+}
+
 void addUfs(std::shared_ptr<PowerStats> p) {
     p->addStateResidencyDataProvider(std::make_unique<UfsStateResidencyDataProvider>("/sys/bus/platform/devices/14700000.ufs/ufs_stats/"));
 }
@@ -643,7 +651,6 @@
     addMobileRadio(p);
     addGNSS(p);
     addPCIe(p);
-    addWifi(p);
     addUfs(p);
     addPowerDomains(p);
     addDevfreq(p);
@@ -657,10 +664,12 @@
 void addGs201CommonDataProviders(std::shared_ptr<PowerStats> p) {
     addCommonDataProviders(p);
     addPixelStateResidencyDataProvider(p);
+    addWifi(p);
 }
 
 void addGs201CommonDataProvidersQc(std::shared_ptr<PowerStats> p) {
     addCommonDataProviders(p);
+    addWlan(p);
 }
 
 void addNFC(std::shared_ptr<PowerStats> p, const std::string& path) {