diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-06 15:30:47 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-09 08:30:03 +0200 |
commit | 2256946e9c0bc452004521d7aeeb68b72f680f42 (patch) | |
tree | 1a46bee10c6e92482125405b902ab75bfd8fd5e9 /cpukit/score/src | |
parent | c0623a99419b18f5b29e932d298193e0245abf38 (diff) |
score: Use struct timespec for TOD
Use the timestamps only for uptime based values. Use struct timespec
for the absolute time values (TOD).
Update #2740.
Diffstat (limited to 'cpukit/score/src')
-rw-r--r-- | cpukit/score/src/coretodabsolutetimeout.c | 2 | ||||
-rw-r--r-- | cpukit/score/src/coretodadjust.c | 8 | ||||
-rw-r--r-- | cpukit/score/src/coretodset.c | 12 |
3 files changed, 11 insertions, 11 deletions
diff --git a/cpukit/score/src/coretodabsolutetimeout.c b/cpukit/score/src/coretodabsolutetimeout.c index fe74a6bbf2..d67b7c33c7 100644 --- a/cpukit/score/src/coretodabsolutetimeout.c +++ b/cpukit/score/src/coretodabsolutetimeout.c @@ -47,7 +47,7 @@ TOD_Absolute_timeout_conversion_results _TOD_Absolute_timeout_to_ticks( * Is the absolute time in the past? */ if ( clock == CLOCK_REALTIME ) { - _TOD_Get_as_timespec( ¤t_time ); + _TOD_Get( ¤t_time ); } else { _Assert( clock == CLOCK_MONOTONIC ); _TOD_Get_zero_based_uptime_as_timespec( ¤t_time ); diff --git a/cpukit/score/src/coretodadjust.c b/cpukit/score/src/coretodadjust.c index 5996565e5c..f493a40b9d 100644 --- a/cpukit/score/src/coretodadjust.c +++ b/cpukit/score/src/coretodadjust.c @@ -21,11 +21,11 @@ #include <rtems/score/todimpl.h> void _TOD_Adjust( - const Timestamp_Control *delta + const struct timespec *delta ) { - Timestamp_Control tod; - ISR_lock_Context lock_context; + ISR_lock_Context lock_context; + struct timespec tod; /* * Currently, RTEMS does the adjustment in one movement. @@ -38,7 +38,7 @@ void _TOD_Adjust( _TOD_Lock(); _TOD_Acquire( &lock_context ); _TOD_Get( &tod ); - _Timestamp_Add_to( &tod, delta ); + _Timespec_Add_to( &tod, delta ); _TOD_Set( &tod, &lock_context ); _TOD_Unlock(); } diff --git a/cpukit/score/src/coretodset.c b/cpukit/score/src/coretodset.c index f1d2e36eb0..80b0b762bd 100644 --- a/cpukit/score/src/coretodset.c +++ b/cpukit/score/src/coretodset.c @@ -23,21 +23,21 @@ #include <rtems/score/watchdogimpl.h> void _TOD_Set( - const Timestamp_Control *tod_as_timestamp, - ISR_lock_Context *lock_context + const struct timespec *tod, + ISR_lock_Context *lock_context ) { - struct timespec tod_as_timespec; + struct bintime tod_as_bintime; uint64_t tod_as_ticks; uint32_t cpu_count; uint32_t cpu_index; _Assert( _API_Mutex_Is_owner( _Once_Mutex ) ); - _Timecounter_Set_clock( tod_as_timestamp, lock_context ); + timespec2bintime( tod, &tod_as_bintime ); + _Timecounter_Set_clock( &tod_as_bintime, lock_context ); - _Timestamp_To_timespec( tod_as_timestamp, &tod_as_timespec ); - tod_as_ticks = _Watchdog_Ticks_from_timespec( &tod_as_timespec ); + tod_as_ticks = _Watchdog_Ticks_from_timespec( tod ); cpu_count = _SMP_Get_processor_count(); for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) { |