unsigned long console_lock_recursive_irqsave(void)
{
- unsigned long flags;
-
- rspin_lock_irqsave(&console_lock, flags);
-
- return flags;
+ return rspin_lock_irqsave(&console_lock);
}
void console_unlock_recursive_irqrestore(unsigned long flags)
*/
bool _rspin_trylock(rspinlock_t *lock);
void _rspin_lock(rspinlock_t *lock);
-#define rspin_lock_irqsave(l, f) \
- ({ \
- BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long)); \
- (f) = _rspin_lock_irqsave(l); \
- block_lock_speculation(); \
- })
unsigned long _rspin_lock_irqsave(rspinlock_t *lock);
void _rspin_unlock(rspinlock_t *lock);
void _rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
block_lock_speculation();
}
+static always_inline unsigned long rspin_lock_irqsave(rspinlock_t *lock)
+{
+ unsigned long flags = _rspin_lock_irqsave(lock);
+
+ block_lock_speculation();
+ return flags;
+}
+
#define rspin_trylock(l) lock_evaluate_nospec(_rspin_trylock(l))
#define rspin_unlock(l) _rspin_unlock(l)
#define rspin_unlock_irqrestore(l, f) _rspin_unlock_irqrestore(l, f)