]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mmc/host/davinci_mmc.c
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[karo-tx-linux.git] / drivers / mmc / host / davinci_mmc.c
index 1e2600da105f4656e3b65e8e45295e43f05fe2ea..621ce47e0e4ae7a3ac4485f8f5d7af5215524462 100644 (file)
@@ -478,18 +478,14 @@ static int mmc_davinci_start_dma_transfer(struct mmc_davinci_host *host,
        int ret = 0;
 
        host->sg_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
-                               ((data->flags & MMC_DATA_WRITE)
-                               ? DMA_TO_DEVICE
-                               : DMA_FROM_DEVICE));
+                                 mmc_get_dma_dir(data));
 
        /* no individual DMA segment should need a partial FIFO */
        for (i = 0; i < host->sg_len; i++) {
                if (sg_dma_len(data->sg + i) & mask) {
                        dma_unmap_sg(mmc_dev(host->mmc),
-                                       data->sg, data->sg_len,
-                                       (data->flags & MMC_DATA_WRITE)
-                                       ? DMA_TO_DEVICE
-                                       : DMA_FROM_DEVICE);
+                                    data->sg, data->sg_len,
+                                    mmc_get_dma_dir(data));
                        return -1;
                }
        }
@@ -802,9 +798,7 @@ mmc_davinci_xfer_done(struct mmc_davinci_host *host, struct mmc_data *data)
                davinci_abort_dma(host);
 
                dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
-                            (data->flags & MMC_DATA_WRITE)
-                            ? DMA_TO_DEVICE
-                            : DMA_FROM_DEVICE);
+                            mmc_get_dma_dir(data));
                host->do_dma = false;
        }
        host->data_dir = DAVINCI_MMC_DATADIR_NONE;