Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[cascardo/linux.git] / sound / soc / pxa / pxa2xx-pcm.c
index 831ee37..9f39039 100644 (file)
@@ -15,8 +15,6 @@
 #include <linux/dmaengine.h>
 #include <linux/of.h>
 
-#include <mach/dma.h>
-
 #include <sound/core.h>
 #include <sound/soc.h>
 #include <sound/pxa2xx-lib.h>
 static int pxa2xx_pcm_hw_params(struct snd_pcm_substream *substream,
        struct snd_pcm_hw_params *params)
 {
-       struct snd_pcm_runtime *runtime = substream->runtime;
-       struct pxa2xx_runtime_data *prtd = runtime->private_data;
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct snd_dmaengine_dai_dma_data *dma;
-       int ret;
 
        dma = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
 
@@ -40,40 +35,13 @@ static int pxa2xx_pcm_hw_params(struct snd_pcm_substream *substream,
        if (!dma)
                return 0;
 
-       /* this may get called several times by oss emulation
-        * with different params */
-       if (prtd->params == NULL) {
-               prtd->params = dma;
-               ret = pxa_request_dma("name", DMA_PRIO_LOW,
-                             pxa2xx_pcm_dma_irq, substream);
-               if (ret < 0)
-                       return ret;
-               prtd->dma_ch = ret;
-       } else if (prtd->params != dma) {
-               pxa_free_dma(prtd->dma_ch);
-               prtd->params = dma;
-               ret = pxa_request_dma("name", DMA_PRIO_LOW,
-                             pxa2xx_pcm_dma_irq, substream);
-               if (ret < 0)
-                       return ret;
-               prtd->dma_ch = ret;
-       }
-
        return __pxa2xx_pcm_hw_params(substream, params);
 }
 
 static int pxa2xx_pcm_hw_free(struct snd_pcm_substream *substream)
 {
-       struct pxa2xx_runtime_data *prtd = substream->runtime->private_data;
-
        __pxa2xx_pcm_hw_free(substream);
 
-       if (prtd->dma_ch >= 0) {
-               pxa_free_dma(prtd->dma_ch);
-               prtd->dma_ch = -1;
-               prtd->params = NULL;
-       }
-
        return 0;
 }
 
@@ -132,6 +100,7 @@ static const struct of_device_id snd_soc_pxa_audio_match[] = {
        { .compatible   = "mrvl,pxa-pcm-audio" },
        { }
 };
+MODULE_DEVICE_TABLE(of, snd_soc_pxa_audio_match);
 #endif
 
 static struct platform_driver pxa_pcm_driver = {