From 530ecc4dbad25158eeab8f474d158c1fae90c37f Mon Sep 17 00:00:00 2001 From: Wei Wang Date: Wed, 20 Nov 2019 12:00:21 -0800 Subject: [PATCH] thermal: Add thermal logging daemon Bug: 126562025 Bug: 144859663 Test: build and check thermal logging Change-Id: I996546110f4d66b3ff8052cb46000fe0e5f7b0da --- hidl/thermal/Android.bp | 11 ++++++++++- hidl/thermal/init.thermal.logging.sh | 25 +++++++++++++++++++++++++ hidl/thermal/samsung-thermal-logd.rc | 14 ++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100755 hidl/thermal/init.thermal.logging.sh create mode 100644 hidl/thermal/samsung-thermal-logd.rc diff --git a/hidl/thermal/Android.bp b/hidl/thermal/Android.bp index 5fbad22b..f5e06463 100644 --- a/hidl/thermal/Android.bp +++ b/hidl/thermal/Android.bp @@ -41,6 +41,15 @@ cc_binary { "clang-analyzer-security*", ], tidy_flags: [ - "-warnings-as-errors=android-*,clang-analyzer-security*,cert-*" + "-warnings-as-errors=android-*,clang-analyzer-security*,cert-*" + ], +} + +sh_binary { + name: "thermal_logd.samsung", + src: "init.thermal.logging.sh", + vendor: true, + init_rc: [ + "samsung-thermal-logd.rc", ], } diff --git a/hidl/thermal/init.thermal.logging.sh b/hidl/thermal/init.thermal.logging.sh new file mode 100755 index 00000000..de385ab5 --- /dev/null +++ b/hidl/thermal/init.thermal.logging.sh @@ -0,0 +1,25 @@ +#!/vendor/bin/sh + +if [ $# -eq 1 ]; then + interval=$1 +else + exit 1 +fi + +while true +do + logline="tz:" + for f in /sys/class/thermal/thermal* + do + temp=`cat $f/temp` + logline+="|$temp" + done + logline+=" cdev:" + for f in /sys/class/thermal/cooling_device* + do + cur_state=`cat $f/cur_state` + logline+="|$cur_state" + done + log -p w -t THERMAL_LOG $logline + sleep $interval +done diff --git a/hidl/thermal/samsung-thermal-logd.rc b/hidl/thermal/samsung-thermal-logd.rc new file mode 100644 index 00000000..f973cbc9 --- /dev/null +++ b/hidl/thermal/samsung-thermal-logd.rc @@ -0,0 +1,14 @@ +on property:persist.vendor.log.thermal=1 + start vendor.thermal.logd + +on property:persist.vendor.log.thermal=0 + stop vendor.thermal.logd + +on property:persist.vendor.log.thermal=1 && property:persist.vendor.log.thermal.interval=* + restart vendor.thermal.logd + +service vendor.thermal.logd /vendor/bin/thermal_logd.samsung ${persist.vendor.log.thermal.interval:-5} + class main + user root + group root system + disabled