All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-23 14:48 ` Andy Shevchenko
  0 siblings, 0 replies; 18+ messages in thread
From: Andy Shevchenko @ 2022-11-23 14:48 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Daniel Vetter, Kevin Cernekee, Mathias Nyman,
	Hans de Goede, Jani Nikula

Some of the existing users, and definitely will be new ones, want to
count existing nodes in the list. Provide a generic API for that by
moving code from i915 to list.h.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
v4: fixed prototype when converting to static inline
v3: added tag (Jani), changed to be static inline (Mike)
v2: dropped the duplicate code in i915 (LKP)
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
 include/linux/list.h                      | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index c33e0d72d670..b96c8217743c 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -2094,17 +2094,6 @@ static void print_request_ring(struct drm_printer *m, struct i915_request *rq)
 	}
 }
 
-static unsigned long list_count(struct list_head *list)
-{
-	struct list_head *pos;
-	unsigned long count = 0;
-
-	list_for_each(pos, list)
-		count++;
-
-	return count;
-}
-
 static unsigned long read_ul(void *p, size_t x)
 {
 	return *(unsigned long *)(p + x);
@@ -2279,7 +2268,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
 	spin_lock_irqsave(&engine->sched_engine->lock, flags);
 	engine_dump_active_requests(engine, m);
 
-	drm_printf(m, "\tOn hold?: %lu\n",
+	drm_printf(m, "\tOn hold?: %zu\n",
 		   list_count(&engine->sched_engine->hold));
 	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
 
diff --git a/include/linux/list.h b/include/linux/list.h
index 61762054b4be..632a298c7018 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -655,6 +655,21 @@ static inline void list_splice_tail_init(struct list_head *list,
 	     !list_is_head(pos, (head)); \
 	     pos = n, n = pos->prev)
 
+/**
+ * list_count - count nodes in the list
+ * @head:	the head for your list.
+ */
+static inline size_t list_count(struct list_head *head)
+{
+	struct list_head *pos;
+	size_t count = 0;
+
+	list_for_each(pos, head)
+		count++;
+
+	return count;
+}
+
 /**
  * list_entry_is_head - test if the entry points to the head of the list
  * @pos:	the type * to cursor
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-11-23 16:45 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-23 14:48 [PATCH v4 1/4] i915: Move list_count() to list.h for broader use Andy Shevchenko
2022-11-23 14:48 ` [Intel-gfx] " Andy Shevchenko
2022-11-23 14:48 ` Andy Shevchenko
2022-11-23 14:48 ` [PATCH v4 2/4] usb: gadget: hid: Convert to use list_count() Andy Shevchenko
2022-11-23 14:48   ` [Intel-gfx] " Andy Shevchenko
2022-11-23 14:48   ` Andy Shevchenko
2022-11-23 14:49 ` [PATCH v4 3/4] usb: gadget: udc: bcm63xx: " Andy Shevchenko
2022-11-23 14:49   ` [Intel-gfx] " Andy Shevchenko
2022-11-23 14:49   ` Andy Shevchenko
2022-11-23 14:49 ` [PATCH v4 4/4] xhci: " Andy Shevchenko
2022-11-23 14:49   ` [Intel-gfx] " Andy Shevchenko
2022-11-23 14:49   ` Andy Shevchenko
2022-11-23 15:06 ` [PATCH v4 1/4] i915: Move list_count() to list.h for broader use Lucas De Marchi
2022-11-23 15:06   ` Lucas De Marchi
2022-11-23 15:06   ` [Intel-gfx] " Lucas De Marchi
2022-11-23 16:26 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [v4,1/4] " Patchwork
2022-11-23 16:26 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork
2022-11-23 16:45 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.