[PATCH 1/2] rtems: Inline rtems_clock_get_ticks_since_boot()
Joel Sherrill
joel.sherrill at oarcorp.com
Fri Aug 22 15:22:06 UTC 2014
On 8/22/2014 10:18 AM, Gedare Bloom wrote:
> On Fri, Aug 22, 2014 at 11:12 AM, Sebastian Huber
> <sebastian.huber at embedded-brains.de> wrote:
>> Update documentation.
>> ---
>> cpukit/rtems/Makefile.am | 1 -
>> cpukit/rtems/include/rtems/rtems/clock.h | 14 +++++------
>> cpukit/rtems/src/clockgettickssinceboot.c | 31 -------------------------
>> cpukit/score/include/rtems/score/watchdog.h | 7 ++++++
>> cpukit/score/include/rtems/score/watchdogimpl.h | 8 -------
>> doc/user/clock.t | 31 ++++++++-----------------
>> 6 files changed, 24 insertions(+), 68 deletions(-)
>> delete mode 100644 cpukit/rtems/src/clockgettickssinceboot.c
>>
>> diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am
>> index b00e251..a1fafb1 100644
>> --- a/cpukit/rtems/Makefile.am
>> +++ b/cpukit/rtems/Makefile.am
>> @@ -151,7 +151,6 @@ librtems_a_SOURCES += src/barrierdata.c
>> librtems_a_SOURCES += src/clockget.c
>> librtems_a_SOURCES += src/clockgetsecondssinceepoch.c
>> librtems_a_SOURCES += src/clockgettickspersecond.c
>> -librtems_a_SOURCES += src/clockgettickssinceboot.c
>> librtems_a_SOURCES += src/clockgettod.c
>> librtems_a_SOURCES += src/clockgettodtimeval.c
>> librtems_a_SOURCES += src/clockgetuptime.c
>> diff --git a/cpukit/rtems/include/rtems/rtems/clock.h b/cpukit/rtems/include/rtems/rtems/clock.h
>> index d80218d..ff71665 100644
>> --- a/cpukit/rtems/include/rtems/rtems/clock.h
>> +++ b/cpukit/rtems/include/rtems/rtems/clock.h
>> @@ -149,15 +149,15 @@ rtems_status_code rtems_clock_get_seconds_since_epoch(
>> );
>>
>> /**
>> - * @brief Obtain Ticks Since Boot
>> + * @brief Gets the current ticks counter value.
>> *
>> - * This routine implements the rtems_clock_get_ticks_since_boot
>> - * directive.
>> - *
>> - * @retval This method returns the number of ticks since boot. It cannot
>> - * fail since RTEMS always keeps a running count of ticks since boot.
>> + * @return The current tick counter value. With a 1ms clock tick, this counter
>> + * overflows after 50 days since boot.
>> */
>> -rtems_interval rtems_clock_get_ticks_since_boot(void);
>> +RTEMS_INLINE_ROUTINE rtems_interval rtems_clock_get_ticks_since_boot(void)
>> +{
>> + return _Watchdog_Ticks_since_boot;
>> +}
> This should go to a new file clockimpl.h for consistency.
If it part of the public API, then it has to be in clock.h.
>> /**
>> * @brief Obtain Ticks Per Seconds
>> diff --git a/cpukit/rtems/src/clockgettickssinceboot.c b/cpukit/rtems/src/clockgettickssinceboot.c
>> deleted file mode 100644
>> index 4aced96..0000000
>> --- a/cpukit/rtems/src/clockgettickssinceboot.c
>> +++ /dev/null
>> @@ -1,31 +0,0 @@
>> -/**
>> - * @file
>> - *
>> - * @brief Obtain Ticks Since Boot
>> - * @ingroup ClassicClock
>> - */
>> -
>> -/*
>> - * COPYRIGHT (c) 1989-2008.
>> - * On-Line Applications Research Corporation (OAR).
>> - *
>> - * The license and distribution terms for this file may be
>> - * found in the file LICENSE in this distribution or at
>> - * http://www.rtems.org/license/LICENSE.
>> - */
>> -
>> -#if HAVE_CONFIG_H
>> -#include "config.h"
>> -#endif
>> -
>> -#include <rtems/system.h>
>> -#include <rtems/rtems/status.h>
>> -#include <rtems/rtems/clock.h>
>> -#include <rtems/score/isr.h>
>> -#include <rtems/score/thread.h>
>> -#include <rtems/score/watchdogimpl.h>
>> -
>> -rtems_interval rtems_clock_get_ticks_since_boot(void)
>> -{
>> - return _Watchdog_Ticks_since_boot;
>> -}
>> diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h
>> index 7327f77..06c87a1 100644
>> --- a/cpukit/score/include/rtems/score/watchdog.h
>> +++ b/cpukit/score/include/rtems/score/watchdog.h
>> @@ -124,6 +124,13 @@ typedef struct {
>> void *user_data;
>> } Watchdog_Control;
>>
>> +/**
>> + * @brief The watchdog ticks counter.
>> + *
>> + * With a 1ms watchdog tick, this counter overflows after 50 days since boot.
>> + */
>> +SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
>> +
>> /**@}*/
>>
>> #ifdef __cplusplus
>> diff --git a/cpukit/score/include/rtems/score/watchdogimpl.h b/cpukit/score/include/rtems/score/watchdogimpl.h
>> index 72b6b3b..d50e279 100644
>> --- a/cpukit/score/include/rtems/score/watchdogimpl.h
>> +++ b/cpukit/score/include/rtems/score/watchdogimpl.h
>> @@ -85,14 +85,6 @@ SCORE_EXTERN volatile uint32_t _Watchdog_Sync_level;
>> SCORE_EXTERN volatile uint32_t _Watchdog_Sync_count;
>>
>> /**
>> - * @brief The number of ticks since the system was booted.
>> - *
>> - * This contains the number of ticks since the system was booted.
>> - */
>> -
>> -SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
>> -
>> -/**
>> * @brief Watchdog chain which is managed at ticks.
>> *
>> * This is the watchdog chain which is managed at ticks.
>> diff --git a/doc/user/clock.t b/doc/user/clock.t
>> index fdbd91d..921d1cb 100644
>> --- a/doc/user/clock.t
>> +++ b/doc/user/clock.t
>> @@ -20,7 +20,7 @@ the clock manager are:
>> @item @code{@value{DIRPREFIX}clock_get_tod_timeval} - Get date and time in timeval format
>> @item @code{@value{DIRPREFIX}clock_get_seconds_since_epoch} - Get seconds since epoch
>> @item @code{@value{DIRPREFIX}clock_get_ticks_per_second} - Get ticks per second
>> - at item @code{@value{DIRPREFIX}clock_get_ticks_since_boot} - Get ticks since boot
>> + at item @code{@value{DIRPREFIX}clock_get_ticks_since_boot} - Get current ticks counter value
>> @item @code{@value{DIRPREFIX}clock_get_uptime} - Get time since boot
>> @item @code{@value{DIRPREFIX}clock_get_uptime_timeval} - Get time since boot in timeval format
>> @item @code{@value{DIRPREFIX}clock_get_uptime_seconds} - Get seconds since boot
>> @@ -569,19 +569,16 @@ application has configured.
>>
>> This directive is callable from an ISR.
>>
>> -This directive will not cause the running task to be
>> -preempted. Re-initializing RTEMS causes the system date and
>> -time to be reset to an uninitialized state. Another call to
>> - at code{@value{DIRPREFIX}clock_set} is required to re-initialize the
>> -system date and time to application specific specifications.
>> +This directive will not cause the running task to be preempted.
>>
>> @c
>> @c
>> @c
>> @page
>> - at subsection CLOCK_GET_TICKS_SINCE_BOOT - Get ticks since boot
>> + at subsection CLOCK_GET_TICKS_SINCE_BOOT - Get current ticks counter value
>>
>> @cindex obtain ticks since boot
>> + at cindex get current ticks counter value
>>
>> @subheading CALLING SEQUENCE:
>>
>> @@ -604,25 +601,17 @@ NONE
>>
>> @subheading DESCRIPTION:
>>
>> -This directive returns the number of clock ticks that have elapsed
>> -since the system was booted. This is the historical measure of uptime
>> -in an RTEMS system. The newer service
>> - at code{@value{DIRPREFIX}clock_get_uptime} is another and potentially
>> -more accurate way of obtaining similar information.
>> +This directive returns the current tick counter value. With a 1ms clock tick,
>> +this counter overflows after 50 days since boot. This is the historical
>> +measure of uptime in an RTEMS system. The newer service
>> + at code{@value{DIRPREFIX}clock_get_uptime} is another and potentially more
>> +accurate way of obtaining similar information.
>>
>> @subheading NOTES:
>>
>> This directive is callable from an ISR.
>>
>> -This directive will not cause the running task to be
>> -preempted. Re-initializing RTEMS causes the system date and
>> -time to be reset to an uninitialized state. Another call to
>> - at code{@value{DIRPREFIX}clock_set} is required to re-initialize the
>> -system date and time to application specific specifications.
>> -
>> -This directive simply returns the number of times the dirivective
>> - at code{@value{DIRPREFIX}clock_tick} has been invoked since the
>> -system was booted.
>> +This directive will not cause the running task to be preempted.
>>
>> @c
>> @c
>> --
>> 1.8.4.5
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the devel
mailing list