From 8907a01c00bb48f40f9feb009dc85c51945eb5b2 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sun, 13 Sep 2009 20:54:01 +0000 Subject: 2009-09-13 Joel Sherrill * score/include/rtems/score/coresem.h, score/src/coresemseize.c: Disable body of _CORE_semaphore_Seize() if it is not used because all APIs using it are disabled. --- cpukit/ChangeLog | 6 ++++ cpukit/score/include/rtems/score/coresem.h | 44 +++++++++++++++++------------- cpukit/score/src/coresemseize.c | 7 ++--- 3 files changed, 34 insertions(+), 23 deletions(-) (limited to 'cpukit') diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index f672ff1ee7..866c4e9453 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2009-09-13 Joel Sherrill + + * score/include/rtems/score/coresem.h, score/src/coresemseize.c: + Disable body of _CORE_semaphore_Seize() if it is not used because all + APIs using it are disabled. + 2009-09-13 Joel Sherrill * score/include/rtems/score/tod.h: Fix typo. diff --git a/cpukit/score/include/rtems/score/coresem.h b/cpukit/score/include/rtems/score/coresem.h index 39cb20bdc3..1b91a22cbd 100644 --- a/cpukit/score/include/rtems/score/coresem.h +++ b/cpukit/score/include/rtems/score/coresem.h @@ -38,6 +38,10 @@ extern "C" { #include #include +#if defined(RTEMS_POSIX_API) || defined(RTEMS_ITRON_API) + #define RTEMS_SCORE_CORESEM_ENABLE_SEIZE_BODY +#endif + /** * The following type defines the callout which the API provides * to support global/multiprocessor operations on semaphores. @@ -135,25 +139,27 @@ void _CORE_semaphore_Initialize( uint32_t initial_value ); -/** - * This routine attempts to receive a unit from @a the_semaphore. - * If a unit is available or if the wait flag is false, then the routine - * returns. Otherwise, the calling task is blocked until a unit becomes - * available. - * - * @param[in] the_semaphore is the semaphore to seize - * @param[in] id is the Id of the API level Semaphore object associated - * with this instance of a SuperCore Semaphore - * @param[in] wait indicates if the caller is willing to block - * @param[in] timeout is the number of ticks the calling thread is willing - * to wait if @a wait is true. - */ -void _CORE_semaphore_Seize( - CORE_semaphore_Control *the_semaphore, - Objects_Id id, - bool wait, - Watchdog_Interval timeout -); +#if defined(RTEMS_SCORE_CORESEM_ENABLE_SEIZE_BODY) + /** + * This routine attempts to receive a unit from @a the_semaphore. + * If a unit is available or if the wait flag is false, then the routine + * returns. Otherwise, the calling task is blocked until a unit becomes + * available. + * + * @param[in] the_semaphore is the semaphore to seize + * @param[in] id is the Id of the API level Semaphore object associated + * with this instance of a SuperCore Semaphore + * @param[in] wait indicates if the caller is willing to block + * @param[in] timeout is the number of ticks the calling thread is willing + * to wait if @a wait is true. + */ + void _CORE_semaphore_Seize( + CORE_semaphore_Control *the_semaphore, + Objects_Id id, + bool wait, + Watchdog_Interval timeout + ); +#endif /** * This routine frees a unit to the semaphore. If a task was blocked waiting diff --git a/cpukit/score/src/coresemseize.c b/cpukit/score/src/coresemseize.c index aa1068e979..17f21a43c1 100644 --- a/cpukit/score/src/coresemseize.c +++ b/cpukit/score/src/coresemseize.c @@ -28,10 +28,8 @@ #include #include -/*PAGE - * - * _CORE_semaphore_Seize - * +#if defined(RTEMS_SCORE_CORESEM_ENABLE_SEIZE_BODY) +/* * This routine attempts to allocate a core semaphore to the calling thread. * * Input parameters: @@ -87,3 +85,4 @@ void _CORE_semaphore_Seize( _ISR_Enable( level ); _Thread_queue_Enqueue( &the_semaphore->Wait_queue, timeout ); } +#endif -- cgit v1.2.3