]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
spi: s3c64xx: Use dmaengine_prep_slave_single() to prepare DMA transfers
authorTomasz Figa <tomasz.figa@gmail.com>
Sun, 11 Aug 2013 00:33:30 +0000 (02:33 +0200)
committerMark Brown <broonie@linaro.org>
Sun, 11 Aug 2013 13:06:30 +0000 (14:06 +0100)
Since the driver supports only contiguous buffers, there is no need to
manually construct a scatterlist with just a single entry, when there is
a dedicated helper for this purpose.

This patch modifies prepare_dma() function to use available helper instead
of manually creating a scatterlist.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-s3c64xx.c

index 2330dceb27cc507aac833a59494d7a538cdb2c05..a7a739c89488f1340f3902c30813306c3c5b0da2 100644 (file)
@@ -389,7 +389,6 @@ static void prepare_dma(struct s3c64xx_spi_dma_data *dma,
 {
        struct s3c64xx_spi_driver_data *sdd;
        struct dma_slave_config config;
-       struct scatterlist sg;
        struct dma_async_tx_descriptor *desc;
 
        memset(&config, 0, sizeof(config));
@@ -412,14 +411,8 @@ static void prepare_dma(struct s3c64xx_spi_dma_data *dma,
                dmaengine_slave_config(dma->ch, &config);
        }
 
-       sg_init_table(&sg, 1);
-       sg_dma_len(&sg) = len;
-       sg_set_page(&sg, pfn_to_page(PFN_DOWN(buf)),
-                   len, offset_in_page(buf));
-       sg_dma_address(&sg) = buf;
-
-       desc = dmaengine_prep_slave_sg(dma->ch,
-               &sg, 1, dma->direction, DMA_PREP_INTERRUPT);
+       desc = dmaengine_prep_slave_single(dma->ch, buf, len,
+                                       dma->direction, DMA_PREP_INTERRUPT);
 
        desc->callback = s3c64xx_spi_dmacb;
        desc->callback_param = dma;