]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/wakeref: clean up INTEL_WAKEREF_PUT_* flag macros
authorJani Nikula <jani.nikula@intel.com>
Mon, 15 Dec 2025 12:09:08 +0000 (14:09 +0200)
committerJani Nikula <jani.nikula@intel.com>
Tue, 16 Dec 2025 12:04:22 +0000 (14:04 +0200)
Commit 469c1c9eb6c9 ("kernel-doc: Issue warnings that were silently
discarded") started emitting warnings for cases that were previously
silently discarded. One such case is in intel_wakeref.h:

Warning: drivers/gpu/drm/i915/intel_wakeref.h:156 expecting prototype
  for __intel_wakeref_put(). Prototype was for INTEL_WAKEREF_PUT_ASYNC()
  instead

Arguably kernel-doc should be able to handle this, as it's valid C, but
having the flags defined between the function declarator and the body is
just asking for trouble. Move the INTEL_WAKEREF_PUT_* macros away from
there, making kernel-doc's life easier.

While at it, reduce the unnecessary abstraction levels by removing the
enum, and append _MASK to INTEL_WAKEREF_PUT_DELAY for clarity.

Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://patch.msgid.link/20251215120908.3515578-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/intel_wakeref.c
drivers/gpu/drm/i915/intel_wakeref.h

index b1883dccc22affd33ad8d61eb238bc62d4894000..98e7cee4e1dcc7b550dd5a8ed13eb68ba64398a0 100644 (file)
@@ -80,7 +80,7 @@ void __intel_wakeref_put_last(struct intel_wakeref *wf, unsigned long flags)
        /* Assume we are not in process context and so cannot sleep. */
        if (flags & INTEL_WAKEREF_PUT_ASYNC || !mutex_trylock(&wf->mutex)) {
                mod_delayed_work(wf->i915->unordered_wq, &wf->work,
-                                FIELD_GET(INTEL_WAKEREF_PUT_DELAY, flags));
+                                FIELD_GET(INTEL_WAKEREF_PUT_DELAY_MASK, flags));
                return;
        }
 
index a2894a56e18fc3cf22613a670befc7481746bb8a..81308bac34babe251ce1c8c0ead12fb0e7ff9954 100644 (file)
@@ -128,17 +128,16 @@ intel_wakeref_get_if_active(struct intel_wakeref *wf)
        return atomic_inc_not_zero(&wf->count);
 }
 
-enum {
-       INTEL_WAKEREF_PUT_ASYNC_BIT = 0,
-       __INTEL_WAKEREF_PUT_LAST_BIT__
-};
-
 static inline void
 intel_wakeref_might_get(struct intel_wakeref *wf)
 {
        might_lock(&wf->mutex);
 }
 
+/* flags for __intel_wakeref_put() and __intel_wakeref_put_last */
+#define INTEL_WAKEREF_PUT_ASYNC                BIT(0)
+#define INTEL_WAKEREF_PUT_DELAY_MASK   GENMASK(BITS_PER_LONG - 1, 1)
+
 /**
  * __intel_wakeref_put: Release the wakeref
  * @wf: the wakeref
@@ -154,9 +153,6 @@ intel_wakeref_might_get(struct intel_wakeref *wf)
  */
 static inline void
 __intel_wakeref_put(struct intel_wakeref *wf, unsigned long flags)
-#define INTEL_WAKEREF_PUT_ASYNC BIT(INTEL_WAKEREF_PUT_ASYNC_BIT)
-#define INTEL_WAKEREF_PUT_DELAY \
-       GENMASK(BITS_PER_LONG - 1, __INTEL_WAKEREF_PUT_LAST_BIT__)
 {
        INTEL_WAKEREF_BUG_ON(atomic_read(&wf->count) <= 0);
        if (unlikely(!atomic_add_unless(&wf->count, -1, 1)))
@@ -181,7 +177,7 @@ intel_wakeref_put_delay(struct intel_wakeref *wf, unsigned long delay)
 {
        __intel_wakeref_put(wf,
                            INTEL_WAKEREF_PUT_ASYNC |
-                           FIELD_PREP(INTEL_WAKEREF_PUT_DELAY, delay));
+                           FIELD_PREP(INTEL_WAKEREF_PUT_DELAY_MASK, delay));
 }
 
 static inline void