]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mmc: bcm2835: Refactor dma_map_sg handling
authorStefan Wahren <stefan.wahren@i2se.com>
Sun, 11 Nov 2018 20:23:58 +0000 (21:23 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 17 Dec 2018 07:26:24 +0000 (08:26 +0100)
There are two variables len within bcm2835_prepare_dma. So rename the
result of dma_map_sg to sg_len. While we are at this add a bail out to
simplify the following change.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/bcm2835.c

index a7961c391de69e5b3eb9d90e0939fc714553b76f..7733dbd57073aa024dab541c94a4456432a3b69b 100644 (file)
@@ -453,7 +453,7 @@ static void bcm2835_transfer_pio(struct bcm2835_host *host)
 static
 void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data)
 {
-       int len, dir_data, dir_slave;
+       int sg_len, dir_data, dir_slave;
        struct dma_async_tx_descriptor *desc = NULL;
        struct dma_chan *dma_chan;
 
@@ -499,15 +499,13 @@ void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data)
                                     &host->dma_cfg_rx :
                                     &host->dma_cfg_tx);
 
-       len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len,
-                        dir_data);
+       sg_len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len,
+                           dir_data);
+       if (!sg_len)
+               return;
 
-       if (len > 0) {
-               desc = dmaengine_prep_slave_sg(dma_chan, data->sg,
-                                              len, dir_slave,
-                                              DMA_PREP_INTERRUPT |
-                                              DMA_CTRL_ACK);
-       }
+       desc = dmaengine_prep_slave_sg(dma_chan, data->sg, sg_len, dir_slave,
+                                      DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
 
        if (desc) {
                desc->callback = bcm2835_dma_complete;