@@ -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))
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@wanadoo.fr> --- drivers/gpu/drm/drm_flip_work.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)