From b0599ef35d1ab641eab6ae93f9e4072cb105162d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 18 Jun 2024 11:56:09 +0200 Subject: [PATCH] score: Remove ISR_LOCK_MEMBER Use ISR_LOCK_NEEDS_OBJECT to determine if a lock object is needed. Update #4957 and #5038. --- cpukit/include/rtems/rtems/timerimpl.h | 4 +++- cpukit/include/rtems/score/chainimpl.h | 4 +++- cpukit/include/rtems/score/isrlock.h | 13 ------------- cpukit/include/rtems/score/thread.h | 4 +++- 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/cpukit/include/rtems/rtems/timerimpl.h b/cpukit/include/rtems/rtems/timerimpl.h index 5941616d61..181cbb040b 100644 --- a/cpukit/include/rtems/rtems/timerimpl.h +++ b/cpukit/include/rtems/rtems/timerimpl.h @@ -60,7 +60,9 @@ extern "C" { */ typedef struct Timer_server_Control { - ISR_LOCK_MEMBER( Lock ) +#if ISR_LOCK_NEEDS_OBJECT + ISR_lock_Control Lock; +#endif Chain_Control Pending; diff --git a/cpukit/include/rtems/score/chainimpl.h b/cpukit/include/rtems/score/chainimpl.h index a2ea5e2645..22ef633f11 100644 --- a/cpukit/include/rtems/score/chainimpl.h +++ b/cpukit/include/rtems/score/chainimpl.h @@ -1012,7 +1012,9 @@ static inline void _Chain_Iterator_registry_update( * typedef struct { * Chain_Control Chain; * Chain_Iterator_registry Iterators; - * ISR_LOCK_MEMBER( Lock ) + * #if ISR_LOCK_NEEDS_OBJECT + * ISR_lock_Control Lock; + * #endif * } Some_Control; * * void iterate( diff --git a/cpukit/include/rtems/score/isrlock.h b/cpukit/include/rtems/score/isrlock.h index 8732a00fc6..eb79fa009d 100644 --- a/cpukit/include/rtems/score/isrlock.h +++ b/cpukit/include/rtems/score/isrlock.h @@ -110,19 +110,6 @@ typedef struct { #endif } ISR_lock_Context; -/** - * @brief Defines an ISR lock member. - * - * Do not add a ';' after this macro. - * - * @param _designator The designator for the interrupt lock. - */ -#if defined( RTEMS_SMP ) - #define ISR_LOCK_MEMBER( _designator ) ISR_lock_Control _designator; -#else - #define ISR_LOCK_MEMBER( _designator ) -#endif - /** * @brief Initializer for static initialization of ISR locks. * diff --git a/cpukit/include/rtems/score/thread.h b/cpukit/include/rtems/score/thread.h index 8ca7d85205..1042607bba 100644 --- a/cpukit/include/rtems/score/thread.h +++ b/cpukit/include/rtems/score/thread.h @@ -542,7 +542,9 @@ typedef struct { * @brief Information required to manage a thread timer. */ typedef struct { - ISR_LOCK_MEMBER( Lock ) +#if ISR_LOCK_NEEDS_OBJECT + ISR_lock_Control Lock; +#endif Watchdog_Header *header; Watchdog_Control Watchdog; } Thread_Timer_information;