summaryrefslogtreecommitdiff
path: root/source/hal/source/platform/native/source/timer_native.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/hal/source/platform/native/source/timer_native.c')
-rw-r--r--source/hal/source/platform/native/source/timer_native.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/source/hal/source/platform/native/source/timer_native.c b/source/hal/source/platform/native/source/timer_native.c
index 590975f..7cd832c 100644
--- a/source/hal/source/platform/native/source/timer_native.c
+++ b/source/hal/source/platform/native/source/timer_native.c
@@ -32,25 +32,21 @@ extern "C" {
void platform_reset_counters() { /* Nothing to do */ }
-pmu_counters platform_get_counters(void)
+void platform_get_counters(pmu_counters* counters)
{
struct timespec current_time;
- pmu_counters platform_counters = {
- .num_counters = 0,
- .initialised = true
- };
+ counters->num_counters = 0;
+ counters->initialised = true;
clock_gettime(1, &current_time);
uint64_t microseconds = (current_time.tv_sec * MICROSECONDS_IN_SECOND) +
(current_time.tv_nsec / NANOSECONDS_IN_MICROSECOND);
#if NUM_PMU_COUNTERS > 0
- platform_counters.counters[0].value = microseconds;
- platform_counters.counters[0].name = "Duration";
- platform_counters.counters[0].unit = "microseconds";
- ++platform_counters.num_counters;
+ counters->counters[0].value = microseconds;
+ counters->counters[0].name = "Duration";
+ counters->counters[0].unit = "microseconds";
+ ++counters->num_counters;
#endif /* NUM_PMU_COUNTERS > 0 */
-
- return platform_counters;
}
#ifdef __cplusplus