]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerSasha Levin <sashal@kernel.org>
Wed, 4 Mar 2026 12:21:35 +0000 (07:21 -0500)
[ Upstream commit 524696a19e34598c9173fdd5b32fb7e5d16a91d3 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/i915/intel_wakeref.c
drivers/gpu/drm/i915/intel_wakeref.h

index 7fa194de5d35b6a7390f19b65f9e6cdd60855d54..5bd75a35d0a3901e4fa7088c641692c96da45014 100644 (file)
@@ -78,7 +78,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