Merge tag 'gpio-v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux...
[linux-2.6-microblaze.git] / sound / soc / soc-generic-dmaengine-pcm.c
index a428ff3..2cc2565 100644 (file)
@@ -104,7 +104,7 @@ static int dmaengine_pcm_hw_params(struct snd_soc_component *component,
                        return ret;
        }
 
-       return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params));
+       return 0;
 }
 
 static int
@@ -117,7 +117,6 @@ dmaengine_pcm_set_runtime_hwparams(struct snd_soc_component *component,
        struct dma_chan *chan = pcm->chan[substream->stream];
        struct snd_dmaengine_dai_dma_data *dma_data;
        struct snd_pcm_hardware hw;
-       int ret;
 
        if (pcm->config && pcm->config->pcm_hardware)
                return snd_soc_set_runtime_hwparams(substream,
@@ -138,12 +137,15 @@ dmaengine_pcm_set_runtime_hwparams(struct snd_soc_component *component,
        if (pcm->flags & SND_DMAENGINE_PCM_FLAG_NO_RESIDUE)
                hw.info |= SNDRV_PCM_INFO_BATCH;
 
-       ret = snd_dmaengine_pcm_refine_runtime_hwparams(substream,
-                                                       dma_data,
-                                                       &hw,
-                                                       chan);
-       if (ret)
-               return ret;
+       /**
+        * FIXME: Remove the return value check to align with the code
+        * before adding snd_dmaengine_pcm_refine_runtime_hwparams
+        * function.
+        */
+       snd_dmaengine_pcm_refine_runtime_hwparams(substream,
+                                                 dma_data,
+                                                 &hw,
+                                                 chan);
 
        return snd_soc_set_runtime_hwparams(substream, &hw);
 }
@@ -168,12 +170,6 @@ static int dmaengine_pcm_close(struct snd_soc_component *component,
        return snd_dmaengine_pcm_close(substream);
 }
 
-static int dmaengine_pcm_hw_free(struct snd_soc_component *component,
-                                struct snd_pcm_substream *substream)
-{
-       return snd_pcm_lib_free_pages(substream);
-}
-
 static int dmaengine_pcm_trigger(struct snd_soc_component *component,
                                 struct snd_pcm_substream *substream, int cmd)
 {
@@ -261,7 +257,7 @@ static int dmaengine_pcm_new(struct snd_soc_component *component,
                        return -EINVAL;
                }
 
-               snd_pcm_lib_preallocate_pages(substream,
+               snd_pcm_set_managed_buffer(substream,
                                SNDRV_DMA_TYPE_DEV_IRAM,
                                dmaengine_dma_dev(pcm, substream),
                                prealloc_buffer_size,
@@ -329,9 +325,7 @@ static const struct snd_soc_component_driver dmaengine_pcm_component = {
        .probe_order    = SND_SOC_COMP_ORDER_LATE,
        .open           = dmaengine_pcm_open,
        .close          = dmaengine_pcm_close,
-       .ioctl          = snd_soc_pcm_lib_ioctl,
        .hw_params      = dmaengine_pcm_hw_params,
-       .hw_free        = dmaengine_pcm_hw_free,
        .trigger        = dmaengine_pcm_trigger,
        .pointer        = dmaengine_pcm_pointer,
        .pcm_construct  = dmaengine_pcm_new,
@@ -342,9 +336,7 @@ static const struct snd_soc_component_driver dmaengine_pcm_component_process = {
        .probe_order    = SND_SOC_COMP_ORDER_LATE,
        .open           = dmaengine_pcm_open,
        .close          = dmaengine_pcm_close,
-       .ioctl          = snd_soc_pcm_lib_ioctl,
        .hw_params      = dmaengine_pcm_hw_params,
-       .hw_free        = dmaengine_pcm_hw_free,
        .trigger        = dmaengine_pcm_trigger,
        .pointer        = dmaengine_pcm_pointer,
        .copy_user      = dmaengine_copy_user,