Commit a383308e50244a28fe927b9c1acbe0a963bf186b

Authored by Julia Lawall
Committed by Mark Brown
1 parent 39473c2cbd

ASoC: Intel: drop unnecessary list_empty

list_for_each_entry_safe 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_safe 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_safe, 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 (with another
variant for the no brace case): (http://coccinelle.lip6.fr/)

<smpl>
@@
expression x,e;
iterator name list_for_each_entry_safe;
statement S;
identifier i,j;
@@
-if (!(list_empty(x))) {
   list_for_each_entry_safe(i,j,x,...) S
- }
 ... when != i
     when != j
(
  i = e;
|
? j = e;
)
</smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Link: https://lore.kernel.org/r/1595761112-11003-2-git-send-email-Julia.Lawall@inria.fr
Signed-off-by: Mark Brown <broonie@kernel.org>

Showing 3 changed files with 9 additions and 14 deletions Side-by-side Diff

sound/soc/intel/atom/sst/sst_loader.c
... ... @@ -276,12 +276,10 @@
276 276 struct sst_memcpy_list *listnode, *tmplistnode;
277 277  
278 278 /* Free the list */
279   - if (!list_empty(&sst_drv_ctx->memcpy_list)) {
280   - list_for_each_entry_safe(listnode, tmplistnode,
281   - &sst_drv_ctx->memcpy_list, memcpylist) {
282   - list_del(&listnode->memcpylist);
283   - kfree(listnode);
284   - }
  279 + list_for_each_entry_safe(listnode, tmplistnode,
  280 + &sst_drv_ctx->memcpy_list, memcpylist) {
  281 + list_del(&listnode->memcpylist);
  282 + kfree(listnode);
285 283 }
286 284 }
287 285  
sound/soc/intel/skylake/skl-pcm.c
... ... @@ -1509,11 +1509,9 @@
1509 1509 struct skl_dev *skl = bus_to_skl(bus);
1510 1510 struct skl_module_deferred_bind *modules, *tmp;
1511 1511  
1512   - if (!list_empty(&skl->bind_list)) {
1513   - list_for_each_entry_safe(modules, tmp, &skl->bind_list, node) {
1514   - list_del(&modules->node);
1515   - kfree(modules);
1516   - }
  1512 + list_for_each_entry_safe(modules, tmp, &skl->bind_list, node) {
  1513 + list_del(&modules->node);
  1514 + kfree(modules);
1517 1515 }
1518 1516  
1519 1517 kfree(skl->dais);
sound/soc/intel/skylake/skl-topology.c
... ... @@ -3773,9 +3773,8 @@
3773 3773 struct skl_dev *skl = bus_to_skl(bus);
3774 3774 struct skl_pipeline *ppl, *tmp;
3775 3775  
3776   - if (!list_empty(&skl->ppl_list))
3777   - list_for_each_entry_safe(ppl, tmp, &skl->ppl_list, node)
3778   - list_del(&ppl->node);
  3776 + list_for_each_entry_safe(ppl, tmp, &skl->ppl_list, node)
  3777 + list_del(&ppl->node);
3779 3778  
3780 3779 /* clean up topology */
3781 3780 snd_soc_tplg_component_remove(component, SND_SOC_TPLG_INDEX_ALL);