omap: remove 3.12 kernel patches
[openwrt/openwrt.git] / target / linux / omap / patches-3.12 / 403-ASoC-davinci-mcasp-Extract-DMA-channels-directly-fro.patch
diff --git a/target/linux/omap/patches-3.12/403-ASoC-davinci-mcasp-Extract-DMA-channels-directly-fro.patch b/target/linux/omap/patches-3.12/403-ASoC-davinci-mcasp-Extract-DMA-channels-directly-fro.patch
deleted file mode 100644 (file)
index c3b042e..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-From ad5d3e5a1218a599ec02c81a3bd599acedeea00f Mon Sep 17 00:00:00 2001
-From: Jyri Sarha <jsarha@ti.com>
-Date: Tue, 17 Sep 2013 12:09:30 +0300
-Subject: [PATCH 214/752] ASoC: davinci-mcasp: Extract DMA channels directly
- from DT
-
-Extract DMA channels directly from DT as they can not be found from
-platform resources anymore. This is a work-around until davinci audio
-driver is updated to use dmaengine.
-
-Signed-off-by: Jyri Sarha <jsarha@ti.com>
----
- .../bindings/sound/davinci-mcasp-audio.txt         |    5 +++
- include/linux/platform_data/davinci_asp.h          |    2 +
- sound/soc/davinci/davinci-mcasp.c                  |   47 +++++++++++++-------
- 3 files changed, 39 insertions(+), 15 deletions(-)
-
---- a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
-+++ b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
-@@ -18,6 +18,11 @@ Required properties:
- - serial-dir : A list of serializer pin mode. The list number should be equal
-               to "num-serializer" parameter. Each entry is a number indication
-               serializer pin direction. (0 - INACTIVE, 1 - TX, 2 - RX)
-+- dmas: two element list of DMA controller phandles and DMA request line
-+        ordered pairs.
-+- dma-names: identifier string for each DMA request line in the dmas property.
-+           These strings correspond 1:1 with the ordered pairs in dmas. The dma
-+           identifiers must be "rx" and "tx".
- Optional properties:
---- a/include/linux/platform_data/davinci_asp.h
-+++ b/include/linux/platform_data/davinci_asp.h
-@@ -84,6 +84,8 @@ struct snd_platform_data {
-       u8 version;
-       u8 txnumevt;
-       u8 rxnumevt;
-+      int tx_dma_channel;
-+      int rx_dma_channel;
- };
- enum {
---- a/sound/soc/davinci/davinci-mcasp.c
-+++ b/sound/soc/davinci/davinci-mcasp.c
-@@ -1047,6 +1047,7 @@ static struct snd_platform_data *davinci
-       struct snd_platform_data *pdata = NULL;
-       const struct of_device_id *match =
-                       of_match_device(mcasp_dt_ids, &pdev->dev);
-+      struct of_phandle_args dma_spec;
-       const u32 *of_serial_dir32;
-       u8 *of_serial_dir;
-@@ -1109,6 +1110,28 @@ static struct snd_platform_data *davinci
-               pdata->serial_dir = of_serial_dir;
-       }
-+      ret = of_property_match_string(np, "dma-names", "tx");
-+      if (ret < 0)
-+              goto nodata;
-+
-+      ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells", ret,
-+                                       &dma_spec);
-+      if (ret < 0)
-+              goto nodata;
-+
-+      pdata->tx_dma_channel = dma_spec.args[0];
-+
-+      ret = of_property_match_string(np, "dma-names", "rx");
-+      if (ret < 0)
-+              goto nodata;
-+
-+      ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells", ret,
-+                                       &dma_spec);
-+      if (ret < 0)
-+              goto nodata;
-+
-+      pdata->rx_dma_channel = dma_spec.args[0];
-+
-       ret = of_property_read_u32(np, "tx-num-evt", &val);
-       if (ret >= 0)
-               pdata->txnumevt = val;
-@@ -1139,7 +1162,7 @@ nodata:
- static int davinci_mcasp_probe(struct platform_device *pdev)
- {
-       struct davinci_pcm_dma_params *dma_data;
--      struct resource *mem, *ioarea, *res;
-+      struct resource *mem, *ioarea, *res, *dma;
-       struct snd_platform_data *pdata;
-       struct davinci_audio_dev *dev;
-       int ret;
-@@ -1213,15 +1236,11 @@ static int davinci_mcasp_probe(struct pl
-       dma_data->sram_size = pdata->sram_size_playback;
-       dma_data->dma_addr = dma->start + pdata->tx_dma_offset;
--      /* first TX, then RX */
-       res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
--      if (!res) {
--              dev_err(&pdev->dev, "no DMA resource\n");
--              ret = -ENODEV;
--              goto err_release_clk;
--      }
--
--      dma_data->channel = res->start;
-+      if (res)
-+              dma_data->channel = res->start;
-+      else
-+              dma_data->channel = pdata->tx_dma_channel;
-       dma_data = &dev->dma_params[SNDRV_PCM_STREAM_CAPTURE];
-       dma_data->asp_chan_q = pdata->asp_chan_q;
-@@ -1231,13 +1250,11 @@ static int davinci_mcasp_probe(struct pl
-       dma_data->dma_addr = dma->start + pdata->rx_dma_offset;
-       res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
--      if (!res) {
--              dev_err(&pdev->dev, "no DMA resource\n");
--              ret = -ENODEV;
--              goto err_release_clk;
--      }
-+      if (res)
-+              dma_data->channel = res->start;
-+      else
-+              dma_data->channel = pdata->rx_dma_channel;
--      dma_data->channel = res->start;
-       dev_set_drvdata(&pdev->dev, dev);
-       ret = snd_soc_register_component(&pdev->dev, &davinci_mcasp_component,
-                                        &davinci_mcasp_dai[pdata->op_mode], 1);