summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/rtthread.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/include/rtthread.h b/include/rtthread.h
index 47d03119eb..0e9502d469 100644
--- a/include/rtthread.h
+++ b/include/rtthread.h
@@ -544,8 +544,8 @@ rt_thread_t rt_thread_defunct_dequeue(void);
/*
* spinlock
*/
-#ifdef RT_USING_SMP
struct rt_spinlock;
+#ifdef RT_USING_SMP
void rt_spin_lock_init(struct rt_spinlock *lock);
void rt_spin_lock(struct rt_spinlock *lock);
@@ -553,11 +553,11 @@ void rt_spin_unlock(struct rt_spinlock *lock);
rt_base_t rt_spin_lock_irqsave(struct rt_spinlock *lock);
void rt_spin_unlock_irqrestore(struct rt_spinlock *lock, rt_base_t level);
#else
-#define rt_spin_lock_init(lock) { RT_UNUSED(lock); }
-#define rt_spin_lock(lock) { RT_UNUSED(lock); }
-#define rt_spin_unlock(lock) { RT_UNUSED(lock); }
-#define rt_spin_lock_irqsave(lock) ({ RT_UNUSED(lock); rt_hw_interrupt_disable(); })
-#define rt_spin_unlock_irqrestore(lock, level) { RT_UNUSED(lock); rt_hw_interrupt_enable(level); }
+#define rt_spin_lock_init(lock) do {RT_UNUSED(lock);} while (0)
+#define rt_spin_lock(lock) do {RT_UNUSED(lock);} while (0)
+#define rt_spin_unlock(lock) do {RT_UNUSED(lock);} while (0)
+rt_inline rt_base_t rt_spin_lock_irqsave(struct rt_spinlock *lock) {RT_UNUSED(lock);return rt_hw_interrupt_disable();}
+#define rt_spin_unlock_irqrestore(lock, level) do {RT_UNUSED(lock); rt_hw_interrupt_enable(level);} while (0)
#endif /* RT_USING_SMP */
/**@}*/