summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-17 15:01:03 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-18 09:58:57 +0200
commit15462a6f1c7c838533dde2289c51f436975410ff (patch)
treeb00cdef0a0a2344a8f051a9119312296da8a92a6
parentscore: Create mutex implementation header (diff)
downloadrtems-15462a6f1c7c838533dde2289c51f436975410ff.tar.bz2
rtems: Convert to inline functions
-rw-r--r--cpukit/rtems/include/rtems/rtems/semimpl.h53
-rw-r--r--cpukit/rtems/src/semtranslatereturncode.c58
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 5a433e2789..8bd762b4bd 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 cd06883a6e..94e746ae2a 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];
-}