diff mbox

[RFC,2/4] timer: add odp_timer_pool_from_timer()

Message ID 20161025002752.11939-2-brian.brooks@linaro.org
State Superseded
Headers show

Commit Message

Brian Brooks Oct. 25, 2016, 12:27 a.m. UTC
Signed-off-by: Brian Brooks <brian.brooks@linaro.org>

---
 include/odp/api/spec/timer.h                  | 9 +++++++++
 platform/linux-generic/odp_timer.c            | 5 +++++
 test/common_plat/validation/api/timer/timer.c | 2 ++
 3 files changed, 16 insertions(+)

-- 
2.10.1
diff mbox

Patch

diff --git a/include/odp/api/spec/timer.h b/include/odp/api/spec/timer.h
index 540da44..0a6eca1 100644
--- a/include/odp/api/spec/timer.h
+++ b/include/odp/api/spec/timer.h
@@ -200,6 +200,15 @@  int odp_timer_pool_info(odp_timer_pool_t tpid,
 uint64_t odp_timer_pool_res(odp_timer_pool_t tpid);
 
 /**
+ * Get timer pool from timer
+ *
+ * @param tim Timer handle
+ *
+ * @return Timer pool handle
+ */
+odp_timer_pool_t odp_timer_pool_from_timer(odp_timer_t tim);
+
+/**
  * Allocate a timer
  *
  * Create a timer (allocating all necessary resources e.g. timeout event) from
diff --git a/platform/linux-generic/odp_timer.c b/platform/linux-generic/odp_timer.c
index d4b30b2..19b1e58 100644
--- a/platform/linux-generic/odp_timer.c
+++ b/platform/linux-generic/odp_timer.c
@@ -842,6 +842,11 @@  uint64_t odp_timer_pool_res(odp_timer_pool_t tpid)
 	return tpid->param.res_ns;
 }
 
+odp_timer_pool_t odp_timer_pool_from_timer(odp_timer_t tim)
+{
+	return handle_to_tp(tim);
+}
+
 uint64_t odp_timer_pool_to_u64(odp_timer_pool_t tpid)
 {
 	return _odp_pri(tpid);
diff --git a/test/common_plat/validation/api/timer/timer.c b/test/common_plat/validation/api/timer/timer.c
index a8321f3..66a0143 100644
--- a/test/common_plat/validation/api/timer/timer.c
+++ b/test/common_plat/validation/api/timer/timer.c
@@ -231,6 +231,8 @@  static void handle_tmo(odp_event_t ev, bool stale, uint64_t prev_tick)
 	uint64_t tick = odp_timeout_tick(tmo);
 	struct test_timer *ttp = odp_timeout_user_ptr(tmo);
 
+	CU_ASSERT(odp_timer_pool_from_timer(tim) == tp);
+
 	if (tim == ODP_TIMER_INVALID)
 		CU_FAIL("odp_timeout_timer() invalid timer");
 	if (!ttp)