mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 02:52:56 +00:00
a50732124b
list_for_each_entry is able to handle an empty list. The only effect of avoiding the loop is not initializing the index variable. Drop list_empty tests in cases where these variables are not used. Note that list_for_each_entry is defined in terms of list_first_entry, which indicates that it should not be used on an empty list. But in list_for_each_entry, the element obtained by list_first_entry is not really accessed, only the address of its list_head field is compared to the address of the list head, so the list_first_entry is safe. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) <smpl> @@ expression x,e; iterator name list_for_each_entry; statement S; identifier i; @@ -if (!(list_empty(x))) { list_for_each_entry(i,x,...) S - } ... when != i ? i = e </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
||
---|---|---|
.. | ||
cx231xx-417.c | ||
cx231xx-audio.c | ||
cx231xx-avcore.c | ||
cx231xx-cards.c | ||
cx231xx-conf-reg.h | ||
cx231xx-core.c | ||
cx231xx-dif.h | ||
cx231xx-dvb.c | ||
cx231xx-i2c.c | ||
cx231xx-input.c | ||
cx231xx-pcb-cfg.c | ||
cx231xx-pcb-cfg.h | ||
cx231xx-reg.h | ||
cx231xx-vbi.c | ||
cx231xx-vbi.h | ||
cx231xx-video.c | ||
cx231xx.h | ||
Kconfig | ||
Makefile |