Avoid BUG_ON(). Since __i915_sw_fence_init() is always called via a
wrapper macro, we can replace it with a compile time BUILD_BUG_ON().

Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nik...@intel.com>
---
 drivers/gpu/drm/i915/i915_sw_fence.c | 2 --
 drivers/gpu/drm/i915/i915_sw_fence.h | 6 +++++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c 
b/drivers/gpu/drm/i915/i915_sw_fence.c
index ae984c66c48a..6fc0d1b89690 100644
--- a/drivers/gpu/drm/i915/i915_sw_fence.c
+++ b/drivers/gpu/drm/i915/i915_sw_fence.c
@@ -241,8 +241,6 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
                          const char *name,
                          struct lock_class_key *key)
 {
-       BUG_ON(!fn);
-
        __init_waitqueue_head(&fence->wait, name, key);
        fence->fn = fn;
 #ifdef CONFIG_DRM_I915_SW_FENCE_CHECK_DAG
diff --git a/drivers/gpu/drm/i915/i915_sw_fence.h 
b/drivers/gpu/drm/i915/i915_sw_fence.h
index a7c603bc1b01..619fc5a22f0c 100644
--- a/drivers/gpu/drm/i915/i915_sw_fence.h
+++ b/drivers/gpu/drm/i915/i915_sw_fence.h
@@ -48,11 +48,15 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
 do {                                                           \
        static struct lock_class_key __key;                     \
                                                                \
+       BUILD_BUG_ON((fn) == NULL);                             \
        __i915_sw_fence_init((fence), (fn), #fence, &__key);    \
 } while (0)
 #else
 #define i915_sw_fence_init(fence, fn)                          \
-       __i915_sw_fence_init((fence), (fn), NULL, NULL)
+do {                                                           \
+       BUILD_BUG_ON((fn) == NULL);                             \
+       __i915_sw_fence_init((fence), (fn), NULL, NULL);        \
+} while (0)
 #endif
 
 void i915_sw_fence_reinit(struct i915_sw_fence *fence);
-- 
2.34.1

Reply via email to