From 15462a6f1c7c838533dde2289c51f436975410ff Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 17 Jul 2013 15:01:03 +0200 Subject: rtems: Convert to inline functions --- 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 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 +#include #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 -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif -#include - -#include 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]; -} -- cgit v1.2.3