aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linuxkpi/common/include/linux/lockdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux/lockdep.h')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/lockdep.h38
1 files changed, 28 insertions, 10 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/lockdep.h b/sys/compat/linuxkpi/common/include/linux/lockdep.h
index d12bd049b820..a379e191aad7 100644
--- a/sys/compat/linuxkpi/common/include/linux/lockdep.h
+++ b/sys/compat/linuxkpi/common/include/linux/lockdep.h
@@ -25,19 +25,20 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD$
*/
-#ifndef _LINUX_LOCKDEP_H_
-#define _LINUX_LOCKDEP_H_
+#ifndef _LINUXKPI_LINUX_LOCKDEP_H_
+#define _LINUXKPI_LINUX_LOCKDEP_H_
+#include <sys/types.h>
#include <sys/lock.h>
struct lock_class_key {
};
struct lockdep_map {
};
+struct pin_cookie {
+};
#define lockdep_set_class(lock, key)
#define lockdep_set_subclass(lock, sub)
@@ -45,8 +46,18 @@ struct lockdep_map {
#define lockdep_set_current_reclaim_state(g) do { } while (0)
#define lockdep_clear_current_reclaim_state() do { } while (0)
#define lockdep_init_map(_map, _name, _key, _x) do { } while(0)
+#define lockdep_register_key(key) do { } while(0)
+#define lockdep_unregister_key(key) do { } while(0)
#ifdef INVARIANTS
+#define lockdep_assert(cond) do { WARN_ON(!cond); } while (0)
+#define lockdep_assert_once(cond) do { WARN_ON_ONCE(!cond); } while (0)
+
+#define lockdep_assert_not_held(m) do { \
+ struct lock_object *__lock = (struct lock_object *)(m); \
+ LOCK_CLASS(__lock)->lc_assert(__lock, LA_UNLOCKED); \
+} while (0)
+
#define lockdep_assert_held(m) do { \
struct lock_object *__lock = (struct lock_object *)(m); \
LOCK_CLASS(__lock)->lc_assert(__lock, LA_LOCKED); \
@@ -57,6 +68,8 @@ struct lockdep_map {
LOCK_CLASS(__lock)->lc_assert(__lock, LA_LOCKED | LA_NOTRECURSED); \
} while (0)
+#define lockdep_assert_none_held_once() do { } while (0)
+
static __inline bool
lockdep_is_held(void *__m)
{
@@ -69,9 +82,14 @@ lockdep_is_held(void *__m)
#define lockdep_is_held_type(_m, _t) lockdep_is_held(_m)
#else
-#define lockdep_assert_held(m) do { } while (0)
+#define lockdep_assert(cond) do { } while (0)
+#define lockdep_assert_once(cond) do { } while (0)
+
+#define lockdep_assert_not_held(m) do { (void)(m); } while (0)
+#define lockdep_assert_held(m) do { (void)(m); } while (0)
+#define lockdep_assert_none_held_once() do { } while (0)
-#define lockdep_assert_held_once(m) do { } while (0)
+#define lockdep_assert_held_once(m) do { (void)(m); } while (0)
#define lockdep_is_held(m) 1
#define lockdep_is_held_type(_m, _t) 1
@@ -92,8 +110,8 @@ lockdep_is_held(void *__m)
#define lock_map_acquire_read(_map) do { } while (0)
#define lock_map_release(_map) do { } while (0)
-#define lockdep_pin_lock(l) do { } while (0)
-#define lockdep_repin_lock(l,c) do { } while (0)
-#define lockdep_unpin_lock(l,c) do { } while (0)
+#define lockdep_pin_lock(l) ({ struct pin_cookie __pc = { }; __pc; })
+#define lockdep_repin_lock(l,c) do { (void)(l); (void)(c); } while (0)
+#define lockdep_unpin_lock(l,c) do { (void)(l); (void)(c); } while (0)
-#endif /* _LINUX_LOCKDEP_H_ */
+#endif /* _LINUXKPI_LINUX_LOCKDEP_H_ */