aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Kondratyev <wulf@FreeBSD.org>2021-12-03 13:38:19 +0000
committerVladimir Kondratyev <wulf@FreeBSD.org>2022-01-22 19:34:36 +0000
commit1cf90ce2414d8c9c1c0cecaae9484a57951c1123 (patch)
tree0f8a15a36f87a9e3924f4e5e80be9971e0267a60
parentd93c8a4d5a3fb47fc0d1d9bbd752df5128a2809b (diff)
LinuxKPI: Make lockdep*_pin_lock macros useable for drm-kmod
Summary: - Add dummy struct pin_cookie definition; - Convert lockdep_pin_lock macro to function; - Fix 'unused variable' compile-time errors; MFC after: 1 week Reviewers: hselasky, manu Differential Revision: https://reviews.freebsd.org/D33295 (cherry picked from commit 68fcdba38b7ea65b1f2f395fbd25fb59880d7163)
-rw-r--r--sys/compat/linuxkpi/common/include/linux/lockdep.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/lockdep.h b/sys/compat/linuxkpi/common/include/linux/lockdep.h
index 0bcb1fa7b925..25dad8698c74 100644
--- a/sys/compat/linuxkpi/common/include/linux/lockdep.h
+++ b/sys/compat/linuxkpi/common/include/linux/lockdep.h
@@ -38,6 +38,8 @@ struct lock_class_key {
};
struct lockdep_map {
};
+struct pin_cookie {
+};
#define lockdep_set_class(lock, key)
#define lockdep_set_subclass(lock, sub)
@@ -69,9 +71,9 @@ 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_held(m) do { (void)(m); } 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
@@ -88,9 +90,9 @@ lockdep_is_held(void *__m)
#define mutex_acquire(...) do { } while (0)
#define mutex_release(...) 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)
#define lock_map_acquire(_map) do { } while (0)
#define lock_map_acquire_read(_map) do { } while (0)