summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2018-01-20 10:41:25 (GMT)
committerCalifornia Sullivan <california.l.sullivan@intel.com>2018-01-23 00:22:57 (GMT)
commit651c915309774cf8631c9fb8b6f212fc500dd3c1 (patch)
tree332c1af02732095b6835d90ffd9a5b3f519309cf
parenta129e6a1c8a25ca5c7dcc079fe2ea80f21320e5f (diff)
downloadmeta-intel-651c915309774cf8631c9fb8b6f212fc500dd3c1.tar.gz
thermald: update from 1.6 to 1.7.1
Updated version with patches to ensure thermald with musl and x32. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
-rw-r--r--recipes-bsp/thermald/files/0001-Include-poll.h-instead-of-sys-poll.h.patch36
-rw-r--r--recipes-bsp/thermald/files/0002-Use-correct-format-specifier-for-X32.patch87
-rw-r--r--recipes-bsp/thermald/thermald_1.7.1.bb (renamed from recipes-bsp/thermald/thermald_1.6.bb)7
3 files changed, 128 insertions, 2 deletions
diff --git a/recipes-bsp/thermald/files/0001-Include-poll.h-instead-of-sys-poll.h.patch b/recipes-bsp/thermald/files/0001-Include-poll.h-instead-of-sys-poll.h.patch
new file mode 100644
index 0000000..16d2ff1
--- /dev/null
+++ b/recipes-bsp/thermald/files/0001-Include-poll.h-instead-of-sys-poll.h.patch
@@ -0,0 +1,36 @@
1From b3de44c28cd930d68c17638575d46e590679f9fe Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Thu, 18 Jan 2018 10:10:40 +0800
4Subject: [PATCH] Include poll.h instead of sys/poll.h
5
6POSIX specifies poll.h to be the correct header name [1]. Also fixes
7a warning when built with musl.
8
9 | <sysroot>/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror=cpp]
10 | #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
11
12[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html
13
14Upstream-Status: Submitted [https://github.com/intel/thermal_daemon/pull/147]
15
16Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
17---
18 src/thd_kobj_uevent.h | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/src/thd_kobj_uevent.h b/src/thd_kobj_uevent.h
22index d30ea5c..aa8e33f 100644
23--- a/src/thd_kobj_uevent.h
24+++ b/src/thd_kobj_uevent.h
25@@ -28,7 +28,7 @@
26 #include <stdlib.h>
27 #include <string.h>
28
29-#include <sys/poll.h>
30+#include <poll.h>
31 #include <sys/socket.h>
32 #include <sys/types.h>
33 #include <unistd.h>
34--
352.7.4
36
diff --git a/recipes-bsp/thermald/files/0002-Use-correct-format-specifier-for-X32.patch b/recipes-bsp/thermald/files/0002-Use-correct-format-specifier-for-X32.patch
new file mode 100644
index 0000000..893b343
--- /dev/null
+++ b/recipes-bsp/thermald/files/0002-Use-correct-format-specifier-for-X32.patch
@@ -0,0 +1,87 @@
1From fa6cfd59e52be6a45a067cc770adc62437295085 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Thu, 18 Jan 2018 14:29:09 +0800
4Subject: [PATCH 2/2] Use correct format specifier for X32
5
6time_t in x32 is of long long type. Using %ld specifier leads
7to errors like:
8
9| ../git/src/thd_model.cpp: In member function 'unsigned int cthd_model::update_set_point(unsigned int)':
10| ../git/src/thermald.h:74:68: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t {aka long long int}' [-Werror=format=]
11| #define thd_log_info(...) g_log(NULL, G_LOG_LEVEL_INFO, __VA_ARGS__)
12| ^
13| ../git/src/thd_model.cpp:112:3: note: in expansion of macro 'thd_log_info'
14| thd_log_info("update_pid %ld %ld %d %g %d\n", now, last_time, error,
15| ^~~~~~~~~~~~
16
17Use the correct format specifier based on the address model.
18
19Upstream-Status: Submitted [https://github.com/intel/thermal_daemon/pull/147]
20
21Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
22---
23 src/thd_model.cpp | 14 ++++++++++++++
24 src/thd_trip_point.cpp | 6 ++++++
25 2 files changed, 20 insertions(+)
26
27diff --git a/src/thd_model.cpp b/src/thd_model.cpp
28index 5f1d0d7..46b95dc 100644
29--- a/src/thd_model.cpp
30+++ b/src/thd_model.cpp
31@@ -109,8 +109,14 @@ unsigned int cthd_model::update_set_point(unsigned int curr_temp) {
32 /*Compute PID Output*/
33 output = kp * error + ki * err_sum + kd * d_err;
34 _setpoint = max_temp - (unsigned int) output;
35+
36+#if defined __x86_64__ && defined __ILP32__
37+ thd_log_info("update_pid %lld %lld %d %g %d\n", now, last_time, error,
38+ output, _setpoint);
39+#else
40 thd_log_info("update_pid %ld %ld %d %g %d\n", now, last_time, error,
41 output, _setpoint);
42+#endif
43 if ((_setpoint < 0) || (abs(set_point - _setpoint) > max_compensation))
44 set_point -= max_compensation;
45 else
46@@ -134,10 +140,18 @@ void cthd_model::add_sample(int temperature) {
47 updated_set_point = false;
48 if (trend_increase_start == 0 && temperature > hot_zone) {
49 trend_increase_start = tm;
50+#if defined __x86_64__ && defined __ILP32__
51+ thd_log_debug("Trend increase start %lld\n", trend_increase_start);
52+#else
53 thd_log_debug("Trend increase start %ld\n", trend_increase_start);
54+#endif
55 } else if (trend_increase_start && temperature < hot_zone) {
56 int _set_point;
57+#if defined __x86_64__ && defined __ILP32__
58+ thd_log_debug("Trend increase stopped %lld\n", trend_increase_start);
59+#else
60 thd_log_debug("Trend increase stopped %ld\n", trend_increase_start);
61+#endif
62 trend_increase_start = 0;
63 _set_point = read_set_point(); // Restore set point to a calculated max
64 if (_set_point > set_point) {
65diff --git a/src/thd_trip_point.cpp b/src/thd_trip_point.cpp
66index dd1b881..170adcf 100644
67--- a/src/thd_trip_point.cpp
68+++ b/src/thd_trip_point.cpp
69@@ -132,9 +132,15 @@ bool cthd_trip_point::thd_trip_point_check(int id, unsigned int read_temp,
70 time_t tm;
71 time(&tm);
72 if ((tm - cdevs[i].last_op_time) < cdevs[i].sampling_priod) {
73+#if defined __x86_64__ && defined __ILP32__
74+ thd_log_info("Too early to act index %d tm %lld\n",
75+ cdev->thd_cdev_get_index(),
76+ tm - cdevs[i].last_op_time);
77+#else
78 thd_log_info("Too early to act index %d tm %ld\n",
79 cdev->thd_cdev_get_index(),
80 tm - cdevs[i].last_op_time);
81+#endif
82 break;
83 }
84 cdevs[i].last_op_time = tm;
85--
862.7.4
87
diff --git a/recipes-bsp/thermald/thermald_1.6.bb b/recipes-bsp/thermald/thermald_1.7.1.bb
index e6cbb62..c3a43f4 100644
--- a/recipes-bsp/thermald/thermald_1.6.bb
+++ b/recipes-bsp/thermald/thermald_1.7.1.bb
@@ -13,8 +13,11 @@ DEPENDS_append_toolchain-clang = " openmp"
13LICENSE = "GPL-2.0" 13LICENSE = "GPL-2.0"
14LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848" 14LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848"
15 15
16SRC_URI = "git://github.com/intel/thermal_daemon/" 16SRC_URI = "git://github.com/intel/thermal_daemon/ \
17SRCREV = "5f1be4d9d6f3b27d2c9884f833ca05cdcb4428e0" 17 file://0001-Include-poll.h-instead-of-sys-poll.h.patch \
18 file://0002-Use-correct-format-specifier-for-X32.patch \
19 "
20SRCREV = "c0d224b7b5cf62d384f5ad0a29bfaaba4bdc4ac1"
18S = "${WORKDIR}/git" 21S = "${WORKDIR}/git"
19 22
20inherit pkgconfig autotools systemd 23inherit pkgconfig autotools systemd