kernel: timer: update _timeout API for const correctness
API that takes _timeout structures but doesn't change data in them is
updated to const-qualify the underlying object, allowing information
to be retrieved from contexts where the containing object is
immutable.
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
diff --git a/include/kernel.h b/include/kernel.h
index 0c55c57..eea4e62 100644
--- a/include/kernel.h
+++ b/include/kernel.h
@@ -1058,8 +1058,8 @@
*/
__syscall void k_thread_start(k_tid_t thread);
-extern k_ticks_t z_timeout_expires(struct _timeout *timeout);
-extern k_ticks_t z_timeout_remaining(struct _timeout *timeout);
+extern k_ticks_t z_timeout_expires(const struct _timeout *timeout);
+extern k_ticks_t z_timeout_remaining(const struct _timeout *timeout);
#ifdef CONFIG_SYS_CLOCK_EXISTS
diff --git a/include/timeout_q.h b/include/timeout_q.h
index e32dc13..d8e169a 100644
--- a/include/timeout_q.h
+++ b/include/timeout_q.h
@@ -32,7 +32,7 @@
int z_abort_timeout(struct _timeout *to);
-static inline bool z_is_inactive_timeout(struct _timeout *t)
+static inline bool z_is_inactive_timeout(const struct _timeout *t)
{
return !sys_dnode_is_linked(&t->node);
}
@@ -58,7 +58,7 @@
void z_set_timeout_expiry(int32_t ticks, bool idle);
-k_ticks_t z_timeout_remaining(struct _timeout *timeout);
+k_ticks_t z_timeout_remaining(const struct _timeout *timeout);
#else
diff --git a/kernel/timeout.c b/kernel/timeout.c
index 5b60828..4bc031f 100644
--- a/kernel/timeout.c
+++ b/kernel/timeout.c
@@ -143,7 +143,7 @@
}
/* must be locked */
-static k_ticks_t timeout_rem(struct _timeout *timeout)
+static k_ticks_t timeout_rem(const struct _timeout *timeout)
{
k_ticks_t ticks = 0;
@@ -161,7 +161,7 @@
return ticks - elapsed();
}
-k_ticks_t z_timeout_remaining(struct _timeout *timeout)
+k_ticks_t z_timeout_remaining(const struct _timeout *timeout)
{
k_ticks_t ticks = 0;
@@ -172,7 +172,7 @@
return ticks;
}
-k_ticks_t z_timeout_expires(struct _timeout *timeout)
+k_ticks_t z_timeout_expires(const struct _timeout *timeout)
{
k_ticks_t ticks = 0;