ipg806x: set v4.4 as default
[openwrt/staging/lynxis/omap.git] / target / linux / ipq806x / patches-3.18 / 152-dmaengine-Make-channel-allocation-callbacks-optional.patch
diff --git a/target/linux/ipq806x/patches-3.18/152-dmaengine-Make-channel-allocation-callbacks-optional.patch b/target/linux/ipq806x/patches-3.18/152-dmaengine-Make-channel-allocation-callbacks-optional.patch
deleted file mode 100644 (file)
index 6337259..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From c4b54a648e682f678c338619df848233a6babc46 Mon Sep 17 00:00:00 2001
-From: Maxime Ripard <maxime.ripard@free-electrons.com>
-Date: Mon, 17 Nov 2014 14:41:59 +0100
-Subject: [PATCH] dmaengine: Make channel allocation callbacks optional
-
-Nowadays, some drivers don't have anything in there channel allocation
-callbacks anymore.
-
-Remove the BUG_ON if those callbacks aren't implemented, in order to allow
-drivers to not implement them.
-
-Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: Vinod Koul <vinod.koul@intel.com>
----
- drivers/dma/dmaengine.c | 18 +++++++++++-------
- 1 file changed, 11 insertions(+), 7 deletions(-)
-
---- a/drivers/dma/dmaengine.c
-+++ b/drivers/dma/dmaengine.c
-@@ -235,9 +235,11 @@ static int dma_chan_get(struct dma_chan
-               return -ENODEV;
-       /* allocate upon first client reference */
--      ret = chan->device->device_alloc_chan_resources(chan);
--      if (ret < 0)
--              goto err_out;
-+      if (chan->device->device_alloc_chan_resources) {
-+              ret = chan->device->device_alloc_chan_resources(chan);
-+              if (ret < 0)
-+                      goto err_out;
-+      }
-       if (!dma_has_cap(DMA_PRIVATE, chan->device->cap_mask))
-               balance_ref_count(chan);
-@@ -259,11 +261,15 @@ err_out:
-  */
- static void dma_chan_put(struct dma_chan *chan)
- {
-+      /* This channel is not in use, bail out */
-       if (!chan->client_count)
--              return; /* this channel failed alloc_chan_resources */
-+              return;
-+
-       chan->client_count--;
-       module_put(dma_chan_to_owner(chan));
--      if (chan->client_count == 0)
-+
-+      /* This channel is not in use anymore, free it */
-+      if (!chan->client_count && chan->device->device_free_chan_resources)
-               chan->device->device_free_chan_resources(chan);
- }
-@@ -817,8 +823,6 @@ int dma_async_device_register(struct dma
-       BUG_ON(dma_has_cap(DMA_INTERLEAVE, device->cap_mask) &&
-               !device->device_prep_interleaved_dma);
--      BUG_ON(!device->device_alloc_chan_resources);
--      BUG_ON(!device->device_free_chan_resources);
-       BUG_ON(!device->device_tx_status);
-       BUG_ON(!device->device_issue_pending);
-       BUG_ON(!device->dev);