[PATCH 2/6] media: staging: rkisp1: params: in stop_streaming, use list_splice_init to move the buffers
Dafna Hirschfeld
dafna.hirschfeld at collabora.com
Fri Oct 2 14:42:18 EDT 2020
Currently the code uses 'list_cut_position' to move the
buffers to a temporary list. Replace it with
'list_splice_init'. This is nicer since we don't need
to access params.prev. Also, replace INIT_LIST_HEAD
with the simpler LIST_HEAD.
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld at collabora.com>
---
drivers/staging/media/rkisp1/rkisp1-params.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/rkisp1/rkisp1-params.c b/drivers/staging/media/rkisp1/rkisp1-params.c
index 986d293201e6..cb9f3332a9a0 100644
--- a/drivers/staging/media/rkisp1/rkisp1-params.c
+++ b/drivers/staging/media/rkisp1/rkisp1-params.c
@@ -1462,9 +1462,7 @@ static void rkisp1_params_vb2_stop_streaming(struct vb2_queue *vq)
{
struct rkisp1_params *params = vq->drv_priv;
struct rkisp1_buffer *buf;
- struct list_head tmp_list;
-
- INIT_LIST_HEAD(&tmp_list);
+ LIST_HEAD(tmp_list);
/*
* we first move the buffers into a local list 'tmp_list'
@@ -1473,7 +1471,7 @@ static void rkisp1_params_vb2_stop_streaming(struct vb2_queue *vq)
*/
spin_lock_irq(¶ms->config_lock);
params->is_streaming = false;
- list_cut_position(&tmp_list, ¶ms->params, params->params.prev);
+ list_splice_init(¶ms->params, &tmp_list);
spin_unlock_irq(¶ms->config_lock);
list_for_each_entry(buf, &tmp_list, queue)
--
2.17.1
More information about the Linux-rockchip
mailing list