]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
dmaengine: moxart: Split device_control
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Mon, 17 Nov 2014 13:42:23 +0000 (14:42 +0100)
committerVinod Koul <vinod.koul@intel.com>
Mon, 22 Dec 2014 06:59:01 +0000 (12:29 +0530)
Split the device_control callback of the Moxart DMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/moxart-dma.c

index 53032bac06e07f483389140057c11ad6777d7759..15cab7d79525914d862e5cd38344bc2e3046c95a 100644 (file)
@@ -263,28 +263,6 @@ static int moxart_slave_config(struct dma_chan *chan,
        return 0;
 }
 
-static int moxart_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
-                         unsigned long arg)
-{
-       int ret = 0;
-
-       switch (cmd) {
-       case DMA_PAUSE:
-       case DMA_RESUME:
-               return -EINVAL;
-       case DMA_TERMINATE_ALL:
-               moxart_terminate_all(chan);
-               break;
-       case DMA_SLAVE_CONFIG:
-               ret = moxart_slave_config(chan, (struct dma_slave_config *)arg);
-               break;
-       default:
-               ret = -ENOSYS;
-       }
-
-       return ret;
-}
-
 static struct dma_async_tx_descriptor *moxart_prep_slave_sg(
        struct dma_chan *chan, struct scatterlist *sgl,
        unsigned int sg_len, enum dma_transfer_direction dir,
@@ -531,7 +509,8 @@ static void moxart_dma_init(struct dma_device *dma, struct device *dev)
        dma->device_free_chan_resources         = moxart_free_chan_resources;
        dma->device_issue_pending               = moxart_issue_pending;
        dma->device_tx_status                   = moxart_tx_status;
-       dma->device_control                     = moxart_control;
+       dma->device_config                      = moxart_slave_config;
+       dma->device_terminate_all               = moxart_terminate_all;
        dma->dev                                = dev;
 
        INIT_LIST_HEAD(&dma->channels);