Updated version with patches to ensure thermald with musl and x32. Signed-off-by: Anuj Mittal <[email protected]> --- ...0001-Include-poll.h-instead-of-sys-poll.h.patch | 36 +++++++++ ...0002-Use-correct-format-specifier-for-X32.patch | 87 ++++++++++++++++++++++ .../{thermald_1.6.bb => thermald_1.7.1.bb} | 7 +- 3 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 recipes-bsp/thermald/files/0001-Include-poll.h-instead-of-sys-poll.h.patch create mode 100644 recipes-bsp/thermald/files/0002-Use-correct-format-specifier-for-X32.patch rename recipes-bsp/thermald/{thermald_1.6.bb => thermald_1.7.1.bb} (80%)
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 @@ +From b3de44c28cd930d68c17638575d46e590679f9fe Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <[email protected]> +Date: Thu, 18 Jan 2018 10:10:40 +0800 +Subject: [PATCH] Include poll.h instead of sys/poll.h + +POSIX specifies poll.h to be the correct header name [1]. Also fixes +a warning when built with musl. + + | <sysroot>/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror=cpp] + | #warning redirecting incorrect #include <sys/poll.h> to <poll.h> + +[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html + +Upstream-Status: Submitted [https://github.com/intel/thermal_daemon/pull/147] + +Signed-off-by: Anuj Mittal <[email protected]> +--- + src/thd_kobj_uevent.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/thd_kobj_uevent.h b/src/thd_kobj_uevent.h +index d30ea5c..aa8e33f 100644 +--- a/src/thd_kobj_uevent.h ++++ b/src/thd_kobj_uevent.h +@@ -28,7 +28,7 @@ + #include <stdlib.h> + #include <string.h> + +-#include <sys/poll.h> ++#include <poll.h> + #include <sys/socket.h> + #include <sys/types.h> + #include <unistd.h> +-- +2.7.4 + 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 @@ +From fa6cfd59e52be6a45a067cc770adc62437295085 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <[email protected]> +Date: Thu, 18 Jan 2018 14:29:09 +0800 +Subject: [PATCH 2/2] Use correct format specifier for X32 + +time_t in x32 is of long long type. Using %ld specifier leads +to errors like: + +| ../git/src/thd_model.cpp: In member function 'unsigned int cthd_model::update_set_point(unsigned int)': +| ../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=] +| #define thd_log_info(...) g_log(NULL, G_LOG_LEVEL_INFO, __VA_ARGS__) +| ^ +| ../git/src/thd_model.cpp:112:3: note: in expansion of macro 'thd_log_info' +| thd_log_info("update_pid %ld %ld %d %g %d\n", now, last_time, error, +| ^~~~~~~~~~~~ + +Use the correct format specifier based on the address model. + +Upstream-Status: Submitted [https://github.com/intel/thermal_daemon/pull/147] + +Signed-off-by: Anuj Mittal <[email protected]> +--- + src/thd_model.cpp | 14 ++++++++++++++ + src/thd_trip_point.cpp | 6 ++++++ + 2 files changed, 20 insertions(+) + +diff --git a/src/thd_model.cpp b/src/thd_model.cpp +index 5f1d0d7..46b95dc 100644 +--- a/src/thd_model.cpp ++++ b/src/thd_model.cpp +@@ -109,8 +109,14 @@ unsigned int cthd_model::update_set_point(unsigned int curr_temp) { + /*Compute PID Output*/ + output = kp * error + ki * err_sum + kd * d_err; + _setpoint = max_temp - (unsigned int) output; ++ ++#if defined __x86_64__ && defined __ILP32__ ++ thd_log_info("update_pid %lld %lld %d %g %d\n", now, last_time, error, ++ output, _setpoint); ++#else + thd_log_info("update_pid %ld %ld %d %g %d\n", now, last_time, error, + output, _setpoint); ++#endif + if ((_setpoint < 0) || (abs(set_point - _setpoint) > max_compensation)) + set_point -= max_compensation; + else +@@ -134,10 +140,18 @@ void cthd_model::add_sample(int temperature) { + updated_set_point = false; + if (trend_increase_start == 0 && temperature > hot_zone) { + trend_increase_start = tm; ++#if defined __x86_64__ && defined __ILP32__ ++ thd_log_debug("Trend increase start %lld\n", trend_increase_start); ++#else + thd_log_debug("Trend increase start %ld\n", trend_increase_start); ++#endif + } else if (trend_increase_start && temperature < hot_zone) { + int _set_point; ++#if defined __x86_64__ && defined __ILP32__ ++ thd_log_debug("Trend increase stopped %lld\n", trend_increase_start); ++#else + thd_log_debug("Trend increase stopped %ld\n", trend_increase_start); ++#endif + trend_increase_start = 0; + _set_point = read_set_point(); // Restore set point to a calculated max + if (_set_point > set_point) { +diff --git a/src/thd_trip_point.cpp b/src/thd_trip_point.cpp +index dd1b881..170adcf 100644 +--- a/src/thd_trip_point.cpp ++++ b/src/thd_trip_point.cpp +@@ -132,9 +132,15 @@ bool cthd_trip_point::thd_trip_point_check(int id, unsigned int read_temp, + time_t tm; + time(&tm); + if ((tm - cdevs[i].last_op_time) < cdevs[i].sampling_priod) { ++#if defined __x86_64__ && defined __ILP32__ ++ thd_log_info("Too early to act index %d tm %lld\n", ++ cdev->thd_cdev_get_index(), ++ tm - cdevs[i].last_op_time); ++#else + thd_log_info("Too early to act index %d tm %ld\n", + cdev->thd_cdev_get_index(), + tm - cdevs[i].last_op_time); ++#endif + break; + } + cdevs[i].last_op_time = tm; +-- +2.7.4 + diff --git a/recipes-bsp/thermald/thermald_1.6.bb b/recipes-bsp/thermald/thermald_1.7.1.bb similarity index 80% rename from recipes-bsp/thermald/thermald_1.6.bb rename to 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" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848" -SRC_URI = "git://github.com/intel/thermal_daemon/" -SRCREV = "5f1be4d9d6f3b27d2c9884f833ca05cdcb4428e0" +SRC_URI = "git://github.com/intel/thermal_daemon/ \ + file://0001-Include-poll.h-instead-of-sys-poll.h.patch \ + file://0002-Use-correct-format-specifier-for-X32.patch \ + " +SRCREV = "c0d224b7b5cf62d384f5ad0a29bfaaba4bdc4ac1" S = "${WORKDIR}/git" inherit pkgconfig autotools systemd -- 2.7.4 -- _______________________________________________ meta-intel mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-intel
