[rtems commit] rtems: Create modes implementation header

Sebastian Huber sebh at rtems.org
Tue Jul 23 13:09:29 UTC 2013


Module:    rtems
Branch:    master
Commit:    b79953cfe90214e5f937b551922edb79ec53cfe8
Changeset: http://git.rtems.org/rtems/commit/?id=b79953cfe90214e5f937b551922edb79ec53cfe8

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul 23 11:25:28 2013 +0200

rtems: Create modes implementation header

Move implementation specific parts of modes.h and modes.inl into new
header file modesimpl.h.  The modes.h contains now only the application
visible API.

---

 cpukit/rtems/Makefile.am                           |    2 +-
 cpukit/rtems/include/rtems/rtems/modes.h           |   18 ++++-------
 .../modes.inl => include/rtems/rtems/modesimpl.h}  |   31 +++++++++++++------
 cpukit/rtems/preinstall.am                         |    8 ++--
 cpukit/rtems/src/taskcreate.c                      |    2 +-
 cpukit/rtems/src/taskmode.c                        |    2 +-
 6 files changed, 35 insertions(+), 28 deletions(-)

diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am
index 78af7e9..817e4cc 100644
--- a/cpukit/rtems/Makefile.am
+++ b/cpukit/rtems/Makefile.am
@@ -29,6 +29,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/intr.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/message.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/messageimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/modes.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/modesimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/object.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/options.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/optionsimpl.h
@@ -67,7 +68,6 @@ include_rtems_rtems_HEADERS += inline/rtems/rtems/asr.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/dpmem.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/event.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/eventset.inl
-include_rtems_rtems_HEADERS += inline/rtems/rtems/modes.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/part.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/ratemon.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/region.inl
diff --git a/cpukit/rtems/include/rtems/rtems/modes.h b/cpukit/rtems/include/rtems/rtems/modes.h
index 9a4bf73..7b07c88 100644
--- a/cpukit/rtems/include/rtems/rtems/modes.h
+++ b/cpukit/rtems/include/rtems/rtems/modes.h
@@ -21,6 +21,12 @@
 #ifndef _RTEMS_RTEMS_MODES_H
 #define _RTEMS_RTEMS_MODES_H
 
+#include <rtems/score/cpu.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  *  @defgroup ClassicModes Modes
  *
@@ -30,12 +36,6 @@
  */
 /**@{*/
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems/score/isr.h>
-
 /**
  *  The following type defines the control block used to manage
  *  each a mode set.
@@ -121,15 +121,11 @@ Modes_Control rtems_interrupt_level_body(
   uint32_t   level
 );
 
-#ifndef __RTEMS_APPLICATION__
-#include <rtems/rtems/modes.inl>
-#endif
+/**@}*/
 
 #ifdef __cplusplus
 }
 #endif
 
-/**@}*/
-
 #endif
 /* end of include file */
diff --git a/cpukit/rtems/inline/rtems/rtems/modes.inl b/cpukit/rtems/include/rtems/rtems/modesimpl.h
similarity index 89%
rename from cpukit/rtems/inline/rtems/rtems/modes.inl
rename to cpukit/rtems/include/rtems/rtems/modesimpl.h
index 0340321..7aa6bcb 100644
--- a/cpukit/rtems/inline/rtems/rtems/modes.inl
+++ b/cpukit/rtems/include/rtems/rtems/modesimpl.h
@@ -1,8 +1,9 @@
 /**
- * @file rtems/rtems/modes.inl
+ * @file
  *
- *  This include file contains the static inline implementation of the
- *  inlined routines in the Mode Handler
+ * @ingroup ClassicModesImpl
+ *
+ * @brief Classic Modes Implementation
  */
 
 /*  COPYRIGHT (c) 1989-2008.
@@ -13,16 +14,22 @@
  *  http://www.rtems.com/license/LICENSE.
  */
 
-#ifndef _RTEMS_RTEMS_MODES_H
-# error "Never use <rtems/rtems/modes.inl> directly; include <rtems/rtems/modes.h> instead."
-#endif
+#ifndef _RTEMS_RTEMS_MODESIMPL_H
+#define _RTEMS_RTEMS_MODESIMPL_H
 
-#ifndef _RTEMS_RTEMS_MODES_INL
-#define _RTEMS_RTEMS_MODES_INL
+#include <rtems/rtems/modes.h>
+#include <rtems/score/isrlevel.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 /**
- *  @addtogroup ClassicModes
- *  @{
+ * @defgroup ClassicModesImpl Classic Modes Implementation
+ *
+ * @ingroup ClassicModes
+ *
+ * @{
  */
 
 /**
@@ -129,6 +136,10 @@ RTEMS_INLINE_ROUTINE void _Modes_Change (
   *out_mode_set  = _out_mode;
 }
 
+#ifdef __cplusplus
+}
+#endif
+
 /**@}*/
 
 #endif
diff --git a/cpukit/rtems/preinstall.am b/cpukit/rtems/preinstall.am
index bd59ac9..72b00a7 100644
--- a/cpukit/rtems/preinstall.am
+++ b/cpukit/rtems/preinstall.am
@@ -87,6 +87,10 @@ $(PROJECT_INCLUDE)/rtems/rtems/modes.h: include/rtems/rtems/modes.h $(PROJECT_IN
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/modes.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/modes.h
 
+$(PROJECT_INCLUDE)/rtems/rtems/modesimpl.h: include/rtems/rtems/modesimpl.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/modesimpl.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/modesimpl.h
+
 $(PROJECT_INCLUDE)/rtems/rtems/object.h: include/rtems/rtems/object.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/object.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/object.h
@@ -213,10 +217,6 @@ $(PROJECT_INCLUDE)/rtems/rtems/eventset.inl: inline/rtems/rtems/eventset.inl $(P
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/eventset.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/eventset.inl
 
-$(PROJECT_INCLUDE)/rtems/rtems/modes.inl: inline/rtems/rtems/modes.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/modes.inl
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/modes.inl
-
 $(PROJECT_INCLUDE)/rtems/rtems/part.inl: inline/rtems/rtems/part.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/part.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/part.inl
diff --git a/cpukit/rtems/src/taskcreate.c b/cpukit/rtems/src/taskcreate.c
index 1b8d2ca..d925d84 100644
--- a/cpukit/rtems/src/taskcreate.c
+++ b/cpukit/rtems/src/taskcreate.c
@@ -23,7 +23,7 @@
 #include <rtems/rtems/attrimpl.h>
 #include <rtems/rtems/status.h>
 #include <rtems/rtems/support.h>
-#include <rtems/rtems/modes.h>
+#include <rtems/rtems/modesimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/stack.h>
 #include <rtems/score/states.h>
diff --git a/cpukit/rtems/src/taskmode.c b/cpukit/rtems/src/taskmode.c
index eb3636d..3439f89 100644
--- a/cpukit/rtems/src/taskmode.c
+++ b/cpukit/rtems/src/taskmode.c
@@ -22,7 +22,7 @@
 #include <rtems/config.h>
 #include <rtems/rtems/status.h>
 #include <rtems/rtems/support.h>
-#include <rtems/rtems/modes.h>
+#include <rtems/rtems/modesimpl.h>
 #include <rtems/score/object.h>
 #include <rtems/score/stack.h>
 #include <rtems/score/states.h>




More information about the vc mailing list