[PATCH 4/9] rtems: Convert to inline functions

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Jul 17 14:18:55 UTC 2013


---
 cpukit/rtems/include/rtems/rtems/semimpl.h |   53 ++++++++++++++++++++++---
 cpukit/rtems/src/semtranslatereturncode.c  |   58 ----------------------------
 2 files changed, 47 insertions(+), 64 deletions(-)

diff --git a/cpukit/rtems/include/rtems/rtems/semimpl.h b/cpukit/rtems/include/rtems/rtems/semimpl.h
index e07dca6..47d2eb1 100644
--- a/cpukit/rtems/include/rtems/rtems/semimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/semimpl.h
@@ -18,6 +18,7 @@
 #define _RTEMS_RTEMS_SEMIMPL_H
 
 #include <rtems/rtems/sem.h>
+#include <rtems/score/coremuteximpl.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -44,6 +45,12 @@ extern "C" {
  */
 RTEMS_SEM_EXTERN Objects_Information  _Semaphore_Information;
 
+extern const rtems_status_code
+  _Semaphore_Translate_core_mutex_return_code_[];
+
+extern const rtems_status_code
+  _Semaphore_Translate_core_semaphore_return_code_[];
+
 /**
  *  @brief Semaphore Manager Initialization
  *
@@ -61,9 +68,28 @@ void _Semaphore_Manager_initialization(void);
  *
  * @retval translated RTEMS status code
  */
-rtems_status_code _Semaphore_Translate_core_mutex_return_code (
-  uint32_t   the_mutex_status
-);
+RTEMS_INLINE_ROUTINE rtems_status_code
+_Semaphore_Translate_core_mutex_return_code(
+  uint32_t   status
+)
+{
+  /*
+   *  If this thread is blocking waiting for a result on a remote operation.
+   */
+  #if defined(RTEMS_MULTIPROCESSING)
+    if ( _Thread_Is_proxy_blocking(status) )
+      return RTEMS_PROXY_BLOCKING;
+  #endif
+
+  /*
+   *  Internal consistency check for bad status from SuperCore
+   */
+  #if defined(RTEMS_DEBUG)
+    if ( status > CORE_MUTEX_STATUS_LAST )
+      return RTEMS_INTERNAL_ERROR;
+  #endif
+  return _Semaphore_Translate_core_mutex_return_code_[status];
+}
 
 /**
  * @brief Semaphore Translate Core Semaphore Return Code
@@ -75,9 +101,24 @@ rtems_status_code _Semaphore_Translate_core_mutex_return_code (
  *
  * @retval translated RTEMS status code
  */
-rtems_status_code _Semaphore_Translate_core_semaphore_return_code (
-  uint32_t   the_mutex_status
-);
+RTEMS_INLINE_ROUTINE rtems_status_code
+_Semaphore_Translate_core_semaphore_return_code(
+  uint32_t   status
+)
+{
+  #if defined(RTEMS_MULTIPROCESSING)
+    if ( _Thread_Is_proxy_blocking(status) )
+      return RTEMS_PROXY_BLOCKING;
+  #endif
+  /*
+   *  Internal consistency check for bad status from SuperCore
+   */
+  #if defined(RTEMS_DEBUG)
+    if ( status > CORE_SEMAPHORE_STATUS_LAST )
+      return RTEMS_INTERNAL_ERROR;
+  #endif
+  return _Semaphore_Translate_core_semaphore_return_code_[status];
+}
 
 /**
  *  @brief Allocates a semaphore control block from
diff --git a/cpukit/rtems/src/semtranslatereturncode.c b/cpukit/rtems/src/semtranslatereturncode.c
index cd06883..94e746a 100644
--- a/cpukit/rtems/src/semtranslatereturncode.c
+++ b/cpukit/rtems/src/semtranslatereturncode.c
@@ -18,25 +18,7 @@
 #include "config.h"
 #endif
 
-#include <rtems/system.h>
-#include <rtems/rtems/status.h>
-#include <rtems/rtems/support.h>
-#include <rtems/rtems/attr.h>
-#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/options.h>
 #include <rtems/rtems/semimpl.h>
-#include <rtems/score/coremuteximpl.h>
-#include <rtems/score/coresem.h>
-#include <rtems/score/states.h>
-#include <rtems/score/thread.h>
-#include <rtems/score/threadq.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/mpci.h>
-#endif
-#include <rtems/score/sysstate.h>
-
-#include <rtems/score/interr.h>
 
 const rtems_status_code _Semaphore_Translate_core_mutex_return_code_[] = {
   RTEMS_SUCCESSFUL,         /* CORE_MUTEX_STATUS_SUCCESSFUL */
@@ -53,28 +35,6 @@ const rtems_status_code _Semaphore_Translate_core_mutex_return_code_[] = {
   RTEMS_INVALID_PRIORITY   /* CORE_MUTEX_STATUS_CEILING_VIOLATED */
 };
 
-rtems_status_code _Semaphore_Translate_core_mutex_return_code (
-  uint32_t   status
-)
-{
-  /*
-   *  If this thread is blocking waiting for a result on a remote operation.
-   */
-  #if defined(RTEMS_MULTIPROCESSING)
-    if ( _Thread_Is_proxy_blocking(status) )
-      return RTEMS_PROXY_BLOCKING;
-  #endif
-
-  /*
-   *  Internal consistency check for bad status from SuperCore
-   */
-  #if defined(RTEMS_DEBUG)
-    if ( status > CORE_MUTEX_STATUS_LAST )
-      return RTEMS_INTERNAL_ERROR;
-  #endif
-  return _Semaphore_Translate_core_mutex_return_code_[status];
-}
-
 const rtems_status_code _Semaphore_Translate_core_semaphore_return_code_[] = {
   RTEMS_SUCCESSFUL,         /* CORE_SEMAPHORE_STATUS_SUCCESSFUL */
   RTEMS_UNSATISFIED,        /* CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT */
@@ -82,21 +42,3 @@ const rtems_status_code _Semaphore_Translate_core_semaphore_return_code_[] = {
   RTEMS_TIMEOUT,            /* CORE_SEMAPHORE_TIMEOUT  */
   RTEMS_INTERNAL_ERROR,     /* CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED */
 };
-
-rtems_status_code _Semaphore_Translate_core_semaphore_return_code (
-  uint32_t   status
-)
-{
-  #if defined(RTEMS_MULTIPROCESSING)
-    if ( _Thread_Is_proxy_blocking(status) )
-      return RTEMS_PROXY_BLOCKING;
-  #endif
-  /*
-   *  Internal consistency check for bad status from SuperCore
-   */
-  #if defined(RTEMS_DEBUG)
-    if ( status > CORE_SEMAPHORE_STATUS_LAST )
-      return RTEMS_INTERNAL_ERROR;
-  #endif
-  return _Semaphore_Translate_core_semaphore_return_code_[status];
-}
-- 
1.7.7




More information about the devel mailing list