dma: tegra: use list_move_tail instead of list_del/list_add_tail
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Wed, 5 Sep 2012 07:08:56 +0000 (15:08 +0800)
committerVinod Koul <vinod.koul@linux.intel.com>
Fri, 14 Sep 2012 03:08:10 +0000 (08:38 +0530)
Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
drivers/dma/tegra20-apb-dma.c

index 24acd71..6ed3f43 100644 (file)
@@ -475,8 +475,7 @@ static void tegra_dma_abort_all(struct tegra_dma_channel *tdc)
        while (!list_empty(&tdc->pending_sg_req)) {
                sgreq = list_first_entry(&tdc->pending_sg_req,
                                                typeof(*sgreq), node);
-               list_del(&sgreq->node);
-               list_add_tail(&sgreq->node, &tdc->free_sg_req);
+               list_move_tail(&sgreq->node, &tdc->free_sg_req);
                if (sgreq->last_sg) {
                        dma_desc = sgreq->dma_desc;
                        dma_desc->dma_status = DMA_ERROR;
@@ -570,8 +569,7 @@ static void handle_cont_sngl_cycle_dma_done(struct tegra_dma_channel *tdc,
 
        /* If not last req then put at end of pending list */
        if (!list_is_last(&sgreq->node, &tdc->pending_sg_req)) {
-               list_del(&sgreq->node);
-               list_add_tail(&sgreq->node, &tdc->pending_sg_req);
+               list_move_tail(&sgreq->node, &tdc->pending_sg_req);
                sgreq->configured = false;
                st = handle_continuous_head_request(tdc, sgreq, to_terminate);
                if (!st)