Merge "thermal: perfetto/ftrace: Add thermal_exynos ftrace events" into main
diff --git a/Android.bp b/Android.bp
index 579e8f9..3f5cec7 100644
--- a/Android.bp
+++ b/Android.bp
@@ -6533,6 +6533,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/thermal_exynos.proto",
         "protos/perfetto/trace/ftrace/trusty.proto",
         "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/v4l2.proto",
@@ -6957,6 +6958,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/thermal_exynos.proto",
         "protos/perfetto/trace/ftrace/trusty.proto",
         "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/v4l2.proto",
@@ -7042,6 +7044,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.gen.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/thermal_exynos.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/trusty.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/ufs.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/v4l2.gen.cc",
@@ -7127,6 +7130,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.gen.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/thermal_exynos.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/trusty.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/ufs.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/v4l2.gen.h",
@@ -7208,6 +7212,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/thermal_exynos.proto",
         "protos/perfetto/trace/ftrace/trusty.proto",
         "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/v4l2.proto",
@@ -7292,6 +7297,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pb.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/thermal_exynos.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/trusty.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/ufs.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/v4l2.pb.cc",
@@ -7376,6 +7382,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pb.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/thermal_exynos.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/trusty.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/ufs.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/v4l2.pb.h",
@@ -7457,6 +7464,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/thermal_exynos.proto",
         "protos/perfetto/trace/ftrace/trusty.proto",
         "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/v4l2.proto",
@@ -7542,6 +7550,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pbzero.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/thermal_exynos.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/trusty.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/ufs.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/v4l2.pbzero.cc",
@@ -7627,6 +7636,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pbzero.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/thermal_exynos.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/trusty.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/ufs.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/v4l2.pbzero.h",
@@ -14504,6 +14514,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/thermal_exynos.proto",
         "protos/perfetto/trace/ftrace/trusty.proto",
         "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/v4l2.proto",
@@ -15770,6 +15781,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/thermal_exynos.proto",
         "protos/perfetto/trace/ftrace/trusty.proto",
         "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/v4l2.proto",
diff --git a/BUILD b/BUILD
index 1ec9ddd..2edf805 100644
--- a/BUILD
+++ b/BUILD
@@ -4929,6 +4929,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/thermal_exynos.proto",
         "protos/perfetto/trace/ftrace/trusty.proto",
         "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/v4l2.proto",
diff --git a/protos/perfetto/trace/ftrace/all_protos.gni b/protos/perfetto/trace/ftrace/all_protos.gni
index 910d067..ca78a55 100644
--- a/protos/perfetto/trace/ftrace/all_protos.gni
+++ b/protos/perfetto/trace/ftrace/all_protos.gni
@@ -78,6 +78,7 @@
   "task.proto",
   "tcp.proto",
   "thermal.proto",
+  "thermal_exynos.proto",
   "trusty.proto",
   "ufs.proto",
   "v4l2.proto",
diff --git a/protos/perfetto/trace/ftrace/ftrace_event.proto b/protos/perfetto/trace/ftrace/ftrace_event.proto
index 277a251..16984b7 100644
--- a/protos/perfetto/trace/ftrace/ftrace_event.proto
+++ b/protos/perfetto/trace/ftrace/ftrace_event.proto
@@ -78,6 +78,7 @@
 import "protos/perfetto/trace/ftrace/task.proto";
 import "protos/perfetto/trace/ftrace/tcp.proto";
 import "protos/perfetto/trace/ftrace/thermal.proto";
+import "protos/perfetto/trace/ftrace/thermal_exynos.proto";
 import "protos/perfetto/trace/ftrace/trusty.proto";
 import "protos/perfetto/trace/ftrace/ufs.proto";
 import "protos/perfetto/trace/ftrace/v4l2.proto";
@@ -624,5 +625,8 @@
     GoogleIrmEventFtraceEvent google_irm_event = 503;
     DevicePmCallbackStartFtraceEvent device_pm_callback_start = 504;
     DevicePmCallbackEndFtraceEvent device_pm_callback_end = 505;
+    ThermalExynosAcpmBulkFtraceEvent thermal_exynos_acpm_bulk = 506;
+    ThermalExynosAcpmHighOverheadFtraceEvent thermal_exynos_acpm_high_overhead =
+        507;
   }
 }
diff --git a/protos/perfetto/trace/ftrace/thermal_exynos.proto b/protos/perfetto/trace/ftrace/thermal_exynos.proto
new file mode 100644
index 0000000..7c3adb6
--- /dev/null
+++ b/protos/perfetto/trace/ftrace/thermal_exynos.proto
@@ -0,0 +1,29 @@
+// Autogenerated by:
+// ../../src/tools/ftrace_proto_gen/ftrace_proto_gen.cc
+// Do not edit.
+
+syntax = "proto2";
+package perfetto.protos;
+
+message ThermalExynosAcpmBulkFtraceEvent {
+  optional uint32 tz_id = 1;
+  optional uint32 current_temp = 2;
+  optional uint32 ctrl_temp = 3;
+  optional uint32 cdev_state = 4;
+  optional int32 pid_et_p = 5;
+  optional int32 pid_power_range = 6;
+  optional int32 pid_p = 7;
+  optional int32 pid_i = 8;
+  optional int32 k_p = 9;
+  optional int32 k_i = 10;
+  optional uint64 timestamp = 11;
+}
+message ThermalExynosAcpmHighOverheadFtraceEvent {
+  optional int32 tz_id = 1;
+  optional uint32 current_temp = 2;
+  optional uint32 ctrl_temp = 3;
+  optional uint32 cdev_state = 4;
+  optional int32 pid_et_p = 5;
+  optional int32 k_p = 6;
+  optional int32 k_i = 7;
+}
diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto
index e280127..960f8c3 100644
--- a/protos/perfetto/trace/perfetto_trace.proto
+++ b/protos/perfetto/trace/perfetto_trace.proto
@@ -9920,6 +9920,33 @@
 
 // End of protos/perfetto/trace/ftrace/thermal.proto
 
+// Begin of protos/perfetto/trace/ftrace/thermal_exynos.proto
+
+message ThermalExynosAcpmBulkFtraceEvent {
+  optional uint32 tz_id = 1;
+  optional uint32 current_temp = 2;
+  optional uint32 ctrl_temp = 3;
+  optional uint32 cdev_state = 4;
+  optional int32 pid_et_p = 5;
+  optional int32 pid_power_range = 6;
+  optional int32 pid_p = 7;
+  optional int32 pid_i = 8;
+  optional int32 k_p = 9;
+  optional int32 k_i = 10;
+  optional uint64 timestamp = 11;
+}
+message ThermalExynosAcpmHighOverheadFtraceEvent {
+  optional int32 tz_id = 1;
+  optional uint32 current_temp = 2;
+  optional uint32 ctrl_temp = 3;
+  optional uint32 cdev_state = 4;
+  optional int32 pid_et_p = 5;
+  optional int32 k_p = 6;
+  optional int32 k_i = 7;
+}
+
+// End of protos/perfetto/trace/ftrace/thermal_exynos.proto
+
 // Begin of protos/perfetto/trace/ftrace/trusty.proto
 
 message TrustySmcFtraceEvent {
@@ -10811,6 +10838,9 @@
     GoogleIrmEventFtraceEvent google_irm_event = 503;
     DevicePmCallbackStartFtraceEvent device_pm_callback_start = 504;
     DevicePmCallbackEndFtraceEvent device_pm_callback_end = 505;
+    ThermalExynosAcpmBulkFtraceEvent thermal_exynos_acpm_bulk = 506;
+    ThermalExynosAcpmHighOverheadFtraceEvent thermal_exynos_acpm_high_overhead =
+        507;
   }
 }
 
diff --git a/src/tools/ftrace_proto_gen/event_list b/src/tools/ftrace_proto_gen/event_list
index 737e76d..a019827 100644
--- a/src/tools/ftrace_proto_gen/event_list
+++ b/src/tools/ftrace_proto_gen/event_list
@@ -500,3 +500,5 @@
 google_irm_trace/google_irm_event
 power/device_pm_callback_start
 power/device_pm_callback_end
+thermal_exynos/thermal_exynos_acpm_bulk
+thermal_exynos/thermal_exynos_acpm_high_overhead
diff --git a/src/trace_processor/importers/ftrace/ftrace_descriptors.cc b/src/trace_processor/importers/ftrace/ftrace_descriptors.cc
index f3fe1ff..64ae4d57 100644
--- a/src/trace_processor/importers/ftrace/ftrace_descriptors.cc
+++ b/src/trace_processor/importers/ftrace/ftrace_descriptors.cc
@@ -24,7 +24,7 @@
 namespace trace_processor {
 namespace {
 
-std::array<FtraceMessageDescriptor, 506> descriptors{{
+std::array<FtraceMessageDescriptor, 508> descriptors{{
     {nullptr, 0, {}},
     {nullptr, 0, {}},
     {nullptr, 0, {}},
@@ -5587,6 +5587,38 @@
             {"error", ProtoSchemaType::kInt32},
         },
     },
+    {
+        "thermal_exynos_acpm_bulk",
+        11,
+        {
+            {},
+            {"tz_id", ProtoSchemaType::kUint32},
+            {"current_temp", ProtoSchemaType::kUint32},
+            {"ctrl_temp", ProtoSchemaType::kUint32},
+            {"cdev_state", ProtoSchemaType::kUint32},
+            {"pid_et_p", ProtoSchemaType::kInt32},
+            {"pid_power_range", ProtoSchemaType::kInt32},
+            {"pid_p", ProtoSchemaType::kInt32},
+            {"pid_i", ProtoSchemaType::kInt32},
+            {"k_p", ProtoSchemaType::kInt32},
+            {"k_i", ProtoSchemaType::kInt32},
+            {"timestamp", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "thermal_exynos_acpm_high_overhead",
+        7,
+        {
+            {},
+            {"tz_id", ProtoSchemaType::kInt32},
+            {"current_temp", ProtoSchemaType::kUint32},
+            {"ctrl_temp", ProtoSchemaType::kUint32},
+            {"cdev_state", ProtoSchemaType::kUint32},
+            {"pid_et_p", ProtoSchemaType::kInt32},
+            {"k_p", ProtoSchemaType::kInt32},
+            {"k_i", ProtoSchemaType::kInt32},
+        },
+    },
 }};
 
 }  // namespace
diff --git a/src/traced/probes/ftrace/event_info.cc b/src/traced/probes/ftrace/event_info.cc
index 37a1b1a..61af03d 100644
--- a/src/traced/probes/ftrace/event_info.cc
+++ b/src/traced/probes/ftrace/event_info.cc
@@ -8833,6 +8833,74 @@
        kUnsetFtraceId,
        342,
        kUnsetSize},
+      {"thermal_exynos_acpm_bulk",
+       "thermal_exynos",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "tz_id", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "current_temp", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ctrl_temp", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cdev_state", 4, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pid_et_p", 5, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pid_power_range", 6, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pid_p", 7, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pid_i", 8, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "k_p", 9, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "k_i", 10, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "timestamp", 11, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       506,
+       kUnsetSize},
+      {"thermal_exynos_acpm_high_overhead",
+       "thermal_exynos",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "tz_id", 1, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "current_temp", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ctrl_temp", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cdev_state", 4, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pid_et_p", 5, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "k_p", 6, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "k_i", 7, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       507,
+       kUnsetSize},
       {"trusty_smc",
        "trusty",
        {
diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/thermal_exynos/thermal_exynos_acpm_bulk/format b/src/traced/probes/ftrace/test/data/synthetic/events/thermal_exynos/thermal_exynos_acpm_bulk/format
new file mode 100644
index 0000000..9ee9741
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/synthetic/events/thermal_exynos/thermal_exynos_acpm_bulk/format
@@ -0,0 +1,21 @@
+name: thermal_exynos_acpm_bulk
+ID: 1074
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 tz_id;	offset:8;	size:1;	signed:0;
+	field:u8 current_temp;	offset:9;	size:1;	signed:0;
+	field:u8 ctrl_temp;	offset:10;	size:1;	signed:0;
+	field:u8 cdev_state;	offset:11;	size:1;	signed:0;
+	field:s32 pid_et_p;	offset:12;	size:4;	signed:1;
+	field:s16 pid_power_range;	offset:16;	size:2;	signed:1;
+	field:s16 pid_p;	offset:18;	size:2;	signed:1;
+	field:s32 pid_i;	offset:20;	size:4;	signed:1;
+	field:s32 k_p;	offset:24;	size:4;	signed:1;
+	field:s32 k_i;	offset:28;	size:4;	signed:1;
+	field:u64 timestamp;	offset:32;	size:8;	signed:0;
+
+print fmt: "thermal_zone_id=%u current_temperature=%u ctrl_temp=%u cdev_state=%u pid_et_p=%d pid_power_range=%d pid_p=%d pid_i=%d k_p=%d k_i=%d timestamp=%llu", REC->tz_id, REC->current_temp, REC->ctrl_temp, REC->cdev_state, REC->pid_et_p, REC->pid_power_range, REC->pid_p, REC->pid_i, REC->k_p, REC->k_i, REC->timestamp
diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/thermal_exynos/thermal_exynos_acpm_high_overhead/format b/src/traced/probes/ftrace/test/data/synthetic/events/thermal_exynos/thermal_exynos_acpm_high_overhead/format
new file mode 100644
index 0000000..5c4cc79
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/synthetic/events/thermal_exynos/thermal_exynos_acpm_high_overhead/format
@@ -0,0 +1,17 @@
+name: thermal_exynos_acpm_high_overhead
+ID: 1075
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int tz_id;	offset:8;	size:4;	signed:1;
+	field:u8 current_temp;	offset:12;	size:1;	signed:0;
+	field:u8 ctrl_temp;	offset:13;	size:1;	signed:0;
+	field:u8 cdev_state;	offset:14;	size:1;	signed:0;
+	field:s32 pid_et_p;	offset:16;	size:4;	signed:1;
+	field:s32 k_p;	offset:20;	size:4;	signed:1;
+	field:s32 k_i;	offset:24;	size:4;	signed:1;
+
+print fmt: "thermal_zone_id=%d current_temperature=%u ctrl_temp=%u cdev_state=%u pid_et_p=%d k_p=%d k_i=%d", REC->tz_id, REC->current_temp, REC->ctrl_temp, REC->cdev_state, REC->pid_et_p, REC->k_p, REC->k_i