diff options
| author | Ingo Molnar <mingo@kernel.org> | 2024-12-20 10:25:44 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2024-12-20 10:25:44 +0100 |
| commit | 60675d4ca1ef0857e44eba5849b74a3a998d0c0f (patch) | |
| tree | b2fa39712aeca80db32be43f3f5be8e5a58bc0a3 /rust/helpers/spinlock.c | |
| parent | dd4059634dab548c904eeae2660ba3c8f7ce843c (diff) | |
| parent | 8faabc041a001140564f718dabe37753e88b37fa (diff) | |
Merge branch 'linus' into x86/mm, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'rust/helpers/spinlock.c')
| -rw-r--r-- | rust/helpers/spinlock.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/rust/helpers/spinlock.c b/rust/helpers/spinlock.c index acc1376b833c..5971fdf6f755 100644 --- a/rust/helpers/spinlock.c +++ b/rust/helpers/spinlock.c @@ -1,16 +1,19 @@ // SPDX-License-Identifier: GPL-2.0 -#include <linux/export.h> #include <linux/spinlock.h> void rust_helper___spin_lock_init(spinlock_t *lock, const char *name, struct lock_class_key *key) { #ifdef CONFIG_DEBUG_SPINLOCK +# if defined(CONFIG_PREEMPT_RT) + __spin_lock_init(lock, name, key, false); +# else /*!CONFIG_PREEMPT_RT */ __raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG); -#else +# endif /* CONFIG_PREEMPT_RT */ +#else /* !CONFIG_DEBUG_SPINLOCK */ spin_lock_init(lock); -#endif +#endif /* CONFIG_DEBUG_SPINLOCK */ } void rust_helper_spin_lock(spinlock_t *lock) @@ -22,3 +25,8 @@ void rust_helper_spin_unlock(spinlock_t *lock) { spin_unlock(lock); } + +int rust_helper_spin_trylock(spinlock_t *lock) +{ + return spin_trylock(lock); +} |
