Commit | Line | Data |
---|---|---|
9f36eaed MJ |
1 | /* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1) |
2 | * | |
886d51a3 | 3 | * wrapper/spinlock.h |
a181050f | 4 | * |
886d51a3 | 5 | * Copyright (C) 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
a181050f MD |
6 | */ |
7 | ||
9f36eaed MJ |
8 | #ifndef _LTTNG_WRAPPER_SPINLOCK_H |
9 | #define _LTTNG_WRAPPER_SPINLOCK_H | |
10 | ||
b78104db | 11 | #include <lttng-kernel-version.h> |
a181050f | 12 | |
b78104db | 13 | #if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(2,6,33)) |
a181050f | 14 | |
8e1be6f1 MD |
15 | #include <linux/string.h> |
16 | ||
17 | #define raw_spin_lock_init(lock) \ | |
18 | do { \ | |
19 | raw_spinlock_t __lock = __RAW_SPIN_LOCK_UNLOCKED; \ | |
20 | memcpy(lock, &__lock, sizeof(lock)); \ | |
a181050f MD |
21 | } while (0) |
22 | ||
dce93417 | 23 | #define raw_spin_is_locked(lock) __raw_spin_is_locked(lock) |
a181050f | 24 | |
3a523f5b MD |
25 | #define wrapper_desc_spin_lock(lock) spin_lock(lock) |
26 | #define wrapper_desc_spin_unlock(lock) spin_unlock(lock) | |
27 | ||
28 | #else | |
29 | ||
30 | #define wrapper_desc_spin_lock(lock) raw_spin_lock(lock) | |
31 | #define wrapper_desc_spin_unlock(lock) raw_spin_unlock(lock) | |
a181050f MD |
32 | |
33 | #endif | |
a90917c3 | 34 | #endif /* _LTTNG_WRAPPER_SPINLOCK_H */ |