summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-12-16 14:50:12 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-12-16 14:50:12 +0000
commit18657d189dbd7e56db2894cb78d7ab5a80c2c18f (patch)
tree8abfb63822239f3df800d1b4235662b40a7c864e /cpukit
parentAdded missing include file. (diff)
downloadrtems-18657d189dbd7e56db2894cb78d7ab5a80c2c18f.tar.bz2
2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* score/src/watchdognanoseconds.c: New file. * score/Makefile.am: Reflect change above. * score/include/rtems/score/watchdog.h, score/src/coretodget.c, score/src/coretodgetuptime.c: Do not allow NULL as nanoseconds since last tick handler pointer.
Diffstat (limited to '')
-rw-r--r--cpukit/ChangeLog8
-rw-r--r--cpukit/score/Makefile.am3
-rw-r--r--cpukit/score/include/rtems/score/watchdog.h11
-rw-r--r--cpukit/score/src/coretodget.c4
-rw-r--r--cpukit/score/src/coretodgetuptime.c4
-rw-r--r--cpukit/score/src/watchdognanoseconds.c31
6 files changed, 52 insertions, 9 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index b32a207d47..de92c7c409 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,11 @@
+2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * score/src/watchdognanoseconds.c: New file.
+ * score/Makefile.am: Reflect change above.
+ * score/include/rtems/score/watchdog.h, score/src/coretodget.c,
+ score/src/coretodgetuptime.c: Do not allow NULL as nanoseconds since
+ last tick handler pointer.
+
2010-12-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libnetworking/loop.h, libnetworking/net/if_loop.c,
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am
index 6ad13b51e8..fbe50e1244 100644
--- a/cpukit/score/Makefile.am
+++ b/cpukit/score/Makefile.am
@@ -203,7 +203,8 @@ libscore_a_SOURCES += src/coretod.c src/coretodset.c src/coretodget.c \
## WATCHDOG_C_FILES
libscore_a_SOURCES += src/watchdog.c src/watchdogadjust.c \
src/watchdogadjusttochain.c src/watchdoginsert.c src/watchdogremove.c \
- src/watchdogtickle.c src/watchdogreport.c src/watchdogreportchain.c
+ src/watchdogtickle.c src/watchdogreport.c src/watchdogreportchain.c \
+ src/watchdognanoseconds.c
## USEREXT_C_FILES
libscore_a_SOURCES += src/userextaddset.c \
diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h
index f3fb27a14f..33c2739633 100644
--- a/cpukit/score/include/rtems/score/watchdog.h
+++ b/cpukit/score/include/rtems/score/watchdog.h
@@ -170,8 +170,8 @@ SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
* This is a pointer to the optional BSP plugin to obtain the number
* of nanoseconds since the last clock tick.
*/
-SCORE_EXTERN Watchdog_Nanoseconds_since_last_tick_routine
- _Watchdog_Nanoseconds_since_tick_handler;
+extern Watchdog_Nanoseconds_since_last_tick_routine
+ _Watchdog_Nanoseconds_since_tick_handler;
/** @brief Per Ticks Watchdog List
*
@@ -302,6 +302,13 @@ void _Watchdog_Report_chain(
Chain_Control *header
);
+/**
+ * @brief Default nanoseconds since last tick handler.
+ *
+ * @retval 0 Always.
+ */
+uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void );
+
#ifndef __RTEMS_APPLICATION__
#include <rtems/score/watchdog.inl>
#endif
diff --git a/cpukit/score/src/coretodget.c b/cpukit/score/src/coretodget.c
index dff46a0748..953f3cb753 100644
--- a/cpukit/score/src/coretodget.c
+++ b/cpukit/score/src/coretodget.c
@@ -45,11 +45,9 @@ void _TOD_Get(
/* assume time checked for NULL by caller */
/* _TOD_Now is the native current time */
- nanoseconds = 0;
_ISR_Disable( level );
now = _TOD_Now;
- if ( _Watchdog_Nanoseconds_since_tick_handler )
- nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)();
+ nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)();
_ISR_Enable( level );
_Timestamp_Set( &offset, 0, nanoseconds );
diff --git a/cpukit/score/src/coretodgetuptime.c b/cpukit/score/src/coretodgetuptime.c
index ea55a25796..c5d940b0c0 100644
--- a/cpukit/score/src/coretodgetuptime.c
+++ b/cpukit/score/src/coretodgetuptime.c
@@ -45,11 +45,9 @@ void _TOD_Get_uptime(
/* assume time checked for NULL by caller */
/* _TOD_Uptime is in native timestamp format */
- nanoseconds = 0;
_ISR_Disable( level );
up = _TOD_Uptime;
- if ( _Watchdog_Nanoseconds_since_tick_handler )
- nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)();
+ nanoseconds = (*_Watchdog_Nanoseconds_since_tick_handler)();
_ISR_Enable( level );
_Timestamp_Set( &offset, 0, nanoseconds );
diff --git a/cpukit/score/src/watchdognanoseconds.c b/cpukit/score/src/watchdognanoseconds.c
new file mode 100644
index 0000000000..b3d3e7b028
--- /dev/null
+++ b/cpukit/score/src/watchdognanoseconds.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <rtems/system.h>
+#include <rtems/score/watchdog.h>
+
+Watchdog_Nanoseconds_since_last_tick_routine
+ _Watchdog_Nanoseconds_since_tick_handler =
+ _Watchdog_Nanoseconds_since_tick_default_handler;
+
+uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void )
+{
+ return 0;
+}