[PATCH] drm: flip-work: Simplify code

Christophe JAILLET christophe.jaillet at wanadoo.fr
Sat Sep 3 07:06:30 UTC 2016


Calling 'list_splice_tail' followed by 'INIT_LIST_HEAD' is equivalent to
'list_splice_tail_init'.

This has been spotted with the following coccinelle script:
/////
@@
expression y,z;
@@

-   list_splice_tail(y,z);
-   INIT_LIST_HEAD(y);
+   list_splice_tail_init(y,z);

Signed-off-by: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
---
 drivers/gpu/drm/drm_flip_work.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_flip_work.c b/drivers/gpu/drm/drm_flip_work.c
index 12dea16f22a8..c8b54a6694f6 100644
--- a/drivers/gpu/drm/drm_flip_work.c
+++ b/drivers/gpu/drm/drm_flip_work.c
@@ -101,8 +101,7 @@ void drm_flip_work_commit(struct drm_flip_work *work,
 	unsigned long flags;
 
 	spin_lock_irqsave(&work->lock, flags);
-	list_splice_tail(&work->queued, &work->commited);
-	INIT_LIST_HEAD(&work->queued);
+	list_splice_tail_init(&work->queued, &work->commited);
 	spin_unlock_irqrestore(&work->lock, flags);
 	queue_work(wq, &work->worker);
 }
@@ -119,8 +118,7 @@ static void flip_worker(struct work_struct *w)
 
 		INIT_LIST_HEAD(&tasks);
 		spin_lock_irqsave(&work->lock, flags);
-		list_splice_tail(&work->commited, &tasks);
-		INIT_LIST_HEAD(&work->commited);
+		list_splice_tail_init(&work->commited, &tasks);
 		spin_unlock_irqrestore(&work->lock, flags);
 
 		if (list_empty(&tasks))
-- 
2.7.4



More information about the dri-devel mailing list