]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mmc/host/mvsdio.c
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[karo-tx-linux.git] / drivers / mmc / host / mvsdio.c
index 42296e55b9de5d36e4ca19e2655329ef72f85c5b..58d74b8d6c7984447177486e271c5759db740fe2 100644 (file)
@@ -125,10 +125,10 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
                return 1;
        } else {
                dma_addr_t phys_addr;
-               int dma_dir = (data->flags & MMC_DATA_READ) ?
-                       DMA_FROM_DEVICE : DMA_TO_DEVICE;
-               host->sg_frags = dma_map_sg(mmc_dev(host->mmc), data->sg,
-                                           data->sg_len, dma_dir);
+
+               host->sg_frags = dma_map_sg(mmc_dev(host->mmc),
+                                           data->sg, data->sg_len,
+                                           mmc_get_dma_dir(data));
                phys_addr = sg_dma_address(data->sg);
                mvsd_write(MVSD_SYS_ADDR_LOW, (u32)phys_addr & 0xffff);
                mvsd_write(MVSD_SYS_ADDR_HI,  (u32)phys_addr >> 16);
@@ -294,8 +294,7 @@ static u32 mvsd_finish_data(struct mvsd_host *host, struct mmc_data *data,
                host->pio_size = 0;
        } else {
                dma_unmap_sg(mmc_dev(host->mmc), data->sg, host->sg_frags,
-                            (data->flags & MMC_DATA_READ) ?
-                               DMA_FROM_DEVICE : DMA_TO_DEVICE);
+                            mmc_get_dma_dir(data));
        }
 
        if (err_status & MVSD_ERR_DATA_TIMEOUT)