kernel-janitors.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next v2] media: staging: atomisp: use list_move_tail instead of list_del/list_add_tail in atomisp_compat_css20.c
@ 2021-06-09  7:24 Baokun Li
  2021-06-09 18:17 ` Andy Shevchenko
  0 siblings, 1 reply; 3+ messages in thread
From: Baokun Li @ 2021-06-09  7:24 UTC (permalink / raw)
  To: linux-kernel, Mauro Carvalho Chehab, Greg Kroah-Hartman,
	Sakari Ailus, Andy Shevchenko, Kaixu Xia, Gustavo A. R. Silva
  Cc: weiyongjun1, yuehaibing, yangjihong1, yukuai3, libaokun1,
	linux-media, linux-staging, kernel-janitors, Hulk Robot

Using list_move_tail() instead of list_del() + list_add_tail() in atomisp_compat_css20.c.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
---
V1->V2:
	CC mailist

 .../pci/atomisp_compat_css20.c        | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
index f60198bb8a1a..3bd4c616655d 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
@@ -2147,22 +2147,19 @@ void atomisp_css_stop(struct atomisp_sub_device *asd,
 	while (!list_empty(&asd->s3a_stats_in_css)) {
 		s3a_buf = list_entry(asd->s3a_stats_in_css.next,
 				     struct atomisp_s3a_buf, list);
-		list_del(&s3a_buf->list);
-		list_add_tail(&s3a_buf->list, &asd->s3a_stats);
+		list_move_tail(&s3a_buf->list, &asd->s3a_stats);
 	}
 	while (!list_empty(&asd->s3a_stats_ready)) {
 		s3a_buf = list_entry(asd->s3a_stats_ready.next,
 				     struct atomisp_s3a_buf, list);
-		list_del(&s3a_buf->list);
-		list_add_tail(&s3a_buf->list, &asd->s3a_stats);
+		list_move_tail(&s3a_buf->list, &asd->s3a_stats);
 	}
 
 	spin_lock_irqsave(&asd->dis_stats_lock, irqflags);
 	while (!list_empty(&asd->dis_stats_in_css)) {
 		dis_buf = list_entry(asd->dis_stats_in_css.next,
 				     struct atomisp_dis_buf, list);
-		list_del(&dis_buf->list);
-		list_add_tail(&dis_buf->list, &asd->dis_stats);
+		list_move_tail(&dis_buf->list, &asd->dis_stats);
 	}
 	asd->params.dis_proj_data_valid = false;
 	spin_unlock_irqrestore(&asd->dis_stats_lock, irqflags);
@@ -2171,14 +2168,12 @@ void atomisp_css_stop(struct atomisp_sub_device *asd,
 		while (!list_empty(&asd->metadata_in_css[i])) {
 			md_buf = list_entry(asd->metadata_in_css[i].next,
 					    struct atomisp_metadata_buf, list);
-			list_del(&md_buf->list);
-			list_add_tail(&md_buf->list, &asd->metadata[i]);
+			list_move_tail(&md_buf->list, &asd->metadata[i]);
 		}
 		while (!list_empty(&asd->metadata_ready[i])) {
 			md_buf = list_entry(asd->metadata_ready[i].next,
 					    struct atomisp_metadata_buf, list);
-			list_del(&md_buf->list);
-			list_add_tail(&md_buf->list, &asd->metadata[i]);
+			list_move_tail(&md_buf->list, &asd->metadata[i]);
 		}
 	}
 


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

* Re: [PATCH -next v2] media: staging: atomisp: use list_move_tail instead of list_del/list_add_tail in atomisp_compat_css20.c
  2021-06-09  7:24 [PATCH -next v2] media: staging: atomisp: use list_move_tail instead of list_del/list_add_tail in atomisp_compat_css20.c Baokun Li
@ 2021-06-09 18:17 ` Andy Shevchenko
  2021-06-11  7:19   ` libaokun (A)
  0 siblings, 1 reply; 3+ messages in thread
From: Andy Shevchenko @ 2021-06-09 18:17 UTC (permalink / raw)
  To: Baokun Li
  Cc: Linux Kernel Mailing List, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Sakari Ailus, Andy Shevchenko, Kaixu Xia,
	Gustavo A. R. Silva, Wei Yongjun, YueHaibing, yangjihong1,
	yukuai3, Linux Media Mailing List, linux-staging,
	kernel-janitors, Hulk Robot

On Wed, Jun 9, 2021 at 4:32 PM Baokun Li <libaokun1@huawei.com> wrote:
>
> Using list_move_tail() instead of list_del() + list_add_tail() in atomisp_compat_css20.c.

Have you considered using list_splice() instead of entire while-loops?
Or something similar from list.h...

>         while (!list_empty(&asd->s3a_stats_in_css)) {
>                 s3a_buf = list_entry(asd->s3a_stats_in_css.next,
>                                      struct atomisp_s3a_buf, list);
> -               list_del(&s3a_buf->list);
> -               list_add_tail(&s3a_buf->list, &asd->s3a_stats);
> +               list_move_tail(&s3a_buf->list, &asd->s3a_stats);
>         }
>         while (!list_empty(&asd->s3a_stats_ready)) {
>                 s3a_buf = list_entry(asd->s3a_stats_ready.next,
>                                      struct atomisp_s3a_buf, list);
> -               list_del(&s3a_buf->list);
> -               list_add_tail(&s3a_buf->list, &asd->s3a_stats);
> +               list_move_tail(&s3a_buf->list, &asd->s3a_stats);
>         }

>         while (!list_empty(&asd->dis_stats_in_css)) {
>                 dis_buf = list_entry(asd->dis_stats_in_css.next,
>                                      struct atomisp_dis_buf, list);
> -               list_del(&dis_buf->list);
> -               list_add_tail(&dis_buf->list, &asd->dis_stats);
> +               list_move_tail(&dis_buf->list, &asd->dis_stats);
>         }

>                 while (!list_empty(&asd->metadata_in_css[i])) {
>                         md_buf = list_entry(asd->metadata_in_css[i].next,
>                                             struct atomisp_metadata_buf, list);
> -                       list_del(&md_buf->list);
> -                       list_add_tail(&md_buf->list, &asd->metadata[i]);
> +                       list_move_tail(&md_buf->list, &asd->metadata[i]);
>                 }
>                 while (!list_empty(&asd->metadata_ready[i])) {
>                         md_buf = list_entry(asd->metadata_ready[i].next,
>                                             struct atomisp_metadata_buf, list);
> -                       list_del(&md_buf->list);
> -                       list_add_tail(&md_buf->list, &asd->metadata[i]);
> +                       list_move_tail(&md_buf->list, &asd->metadata[i]);
>                 }

-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH -next v2] media: staging: atomisp: use list_move_tail instead of list_del/list_add_tail in atomisp_compat_css20.c
  2021-06-09 18:17 ` Andy Shevchenko
@ 2021-06-11  7:19   ` libaokun (A)
  0 siblings, 0 replies; 3+ messages in thread
From: libaokun (A) @ 2021-06-11  7:19 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Linux Kernel Mailing List, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Sakari Ailus, Andy Shevchenko, Kaixu Xia,
	Gustavo A. R. Silva, Wei Yongjun, YueHaibing, yangjihong1,
	yukuai3, Linux Media Mailing List, linux-staging,
	kernel-janitors, Hulk Robot

Thank you for your advice. That's a great idea.

I'm about to send a patch v3 with the changes suggested by you.

Best Regards


在 2021/6/10 2:17, Andy Shevchenko 写道:
> On Wed, Jun 9, 2021 at 4:32 PM Baokun Li <libaokun1@huawei.com> wrote:
>> Using list_move_tail() instead of list_del() + list_add_tail() in atomisp_compat_css20.c.
> Have you considered using list_splice() instead of entire while-loops?
> Or something similar from list.h...
>
>>          while (!list_empty(&asd->s3a_stats_in_css)) {
>>                  s3a_buf = list_entry(asd->s3a_stats_in_css.next,
>>                                       struct atomisp_s3a_buf, list);
>> -               list_del(&s3a_buf->list);
>> -               list_add_tail(&s3a_buf->list, &asd->s3a_stats);
>> +               list_move_tail(&s3a_buf->list, &asd->s3a_stats);
>>          }
>>          while (!list_empty(&asd->s3a_stats_ready)) {
>>                  s3a_buf = list_entry(asd->s3a_stats_ready.next,
>>                                       struct atomisp_s3a_buf, list);
>> -               list_del(&s3a_buf->list);
>> -               list_add_tail(&s3a_buf->list, &asd->s3a_stats);
>> +               list_move_tail(&s3a_buf->list, &asd->s3a_stats);
>>          }
>>          while (!list_empty(&asd->dis_stats_in_css)) {
>>                  dis_buf = list_entry(asd->dis_stats_in_css.next,
>>                                       struct atomisp_dis_buf, list);
>> -               list_del(&dis_buf->list);
>> -               list_add_tail(&dis_buf->list, &asd->dis_stats);
>> +               list_move_tail(&dis_buf->list, &asd->dis_stats);
>>          }
>>                  while (!list_empty(&asd->metadata_in_css[i])) {
>>                          md_buf = list_entry(asd->metadata_in_css[i].next,
>>                                              struct atomisp_metadata_buf, list);
>> -                       list_del(&md_buf->list);
>> -                       list_add_tail(&md_buf->list, &asd->metadata[i]);
>> +                       list_move_tail(&md_buf->list, &asd->metadata[i]);
>>                  }
>>                  while (!list_empty(&asd->metadata_ready[i])) {
>>                          md_buf = list_entry(asd->metadata_ready[i].next,
>>                                              struct atomisp_metadata_buf, list);
>> -                       list_del(&md_buf->list);
>> -                       list_add_tail(&md_buf->list, &asd->metadata[i]);
>> +                       list_move_tail(&md_buf->list, &asd->metadata[i]);
>>                  }

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

end of thread, other threads:[~2021-06-11  7:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-09  7:24 [PATCH -next v2] media: staging: atomisp: use list_move_tail instead of list_del/list_add_tail in atomisp_compat_css20.c Baokun Li
2021-06-09 18:17 ` Andy Shevchenko
2021-06-11  7:19   ` libaokun (A)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).