mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
drm/i915/wakeref: clean up INTEL_WAKEREF_PUT_* flag macros
Commit 469c1c9eb6 ("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>
This commit is contained in:
parent
b8304863a3
commit
524696a19e
2 changed files with 6 additions and 10 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue