[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