vchan_dma_desc_free_list() iterates through each virt_dma_desc in the
specified list_head and calls vchan->desc_free().

We can use it instead of repeated execution of pl08x_desc_free() for each
virt_dma_desc in the list_head.  Because vchan->desc_free callback is set
as pl08x_desc_free() for amba-pl08x driver.

Signed-off-by: Akinobu Mita <akinobu.m...@gmail.com>
Cc: Vinod Koul <vinod.k...@intel.com>
Cc: Dan Williams <d...@fb.com>
---
 drivers/dma/amba-pl08x.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index d1cc579..6eb6a5c 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1096,15 +1096,9 @@ static void pl08x_free_txd_list(struct pl08x_driver_data 
*pl08x,
                                struct pl08x_dma_chan *plchan)
 {
        LIST_HEAD(head);
-       struct pl08x_txd *txd;
 
        vchan_get_all_descriptors(&plchan->vc, &head);
-
-       while (!list_empty(&head)) {
-               txd = list_first_entry(&head, struct pl08x_txd, vd.node);
-               list_del(&txd->vd.node);
-               pl08x_desc_free(&txd->vd);
-       }
+       vchan_dma_desc_free_list(&plchan->vc, &head);
 }
 
 /*
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to