[PATCH 1/2] rtems: Inline rtems_clock_get_ticks_since_boot()

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Aug 22 15:12:01 UTC 2014


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;
+}
 
 /**
  * @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



More information about the devel mailing list