summaryrefslogtreecommitdiff
path: root/sound/soc/intel/atom/sst/sst_loader.c
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@inria.fr>2020-07-26 13:58:26 +0300
committerMark Brown <broonie@kernel.org>2020-07-31 00:38:39 +0300
commita383308e50244a28fe927b9c1acbe0a963bf186b (patch)
tree69075a2fd3d1ab94299e828cc91fc253a7ad70e8 /sound/soc/intel/atom/sst/sst_loader.c
parent39473c2cbd6e915abe4dac439f18b770d6ed1c2c (diff)
downloadlinux-a383308e50244a28fe927b9c1acbe0a963bf186b.tar.xz
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>
Diffstat (limited to 'sound/soc/intel/atom/sst/sst_loader.c')
-rw-r--r--sound/soc/intel/atom/sst/sst_loader.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sound/soc/intel/atom/sst/sst_loader.c b/sound/soc/intel/atom/sst/sst_loader.c
index 8ad0ca70ec62..fc91a304256b 100644
--- a/sound/soc/intel/atom/sst/sst_loader.c
+++ b/sound/soc/intel/atom/sst/sst_loader.c
@@ -276,12 +276,10 @@ void sst_memcpy_free_resources(struct intel_sst_drv *sst_drv_ctx)
struct sst_memcpy_list *listnode, *tmplistnode;
/* Free the list */
- if (!list_empty(&sst_drv_ctx->memcpy_list)) {
- list_for_each_entry_safe(listnode, tmplistnode,
- &sst_drv_ctx->memcpy_list, memcpylist) {
- list_del(&listnode->memcpylist);
- kfree(listnode);
- }
+ list_for_each_entry_safe(listnode, tmplistnode,
+ &sst_drv_ctx->memcpy_list, memcpylist) {
+ list_del(&listnode->memcpylist);
+ kfree(listnode);
}
}