ASoC: txx9: Use managed buffer allocation
authorTakashi Iwai <tiwai@suse.de>
Tue, 10 Dec 2019 14:26:04 +0000 (15:26 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 11 Dec 2019 16:43:24 +0000 (16:43 +0000)
Clean up the driver with the new managed buffer allocation API.
The hw_free callback became superfluous and got dropped.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20191210142614.19405-14-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/txx9/txx9aclc.c

index 043d9ec..dba1354 100644 (file)
@@ -54,11 +54,6 @@ static int txx9aclc_pcm_hw_params(struct snd_soc_component *component,
        struct snd_soc_pcm_runtime *rtd = snd_pcm_substream_chip(substream);
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct txx9aclc_dmadata *dmadata = runtime->private_data;
-       int ret;
-
-       ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params));
-       if (ret < 0)
-               return ret;
 
        dev_dbg(component->dev,
                "runtime->dma_area = %#lx dma_addr = %#lx dma_bytes = %zd "
@@ -76,12 +71,6 @@ static int txx9aclc_pcm_hw_params(struct snd_soc_component *component,
        return 0;
 }
 
-static int txx9aclc_pcm_hw_free(struct snd_soc_component *component,
-                               struct snd_pcm_substream *substream)
-{
-       return snd_pcm_lib_free_pages(substream);
-}
-
 static int txx9aclc_pcm_prepare(struct snd_soc_component *component,
                                struct snd_pcm_substream *substream)
 {
@@ -306,7 +295,7 @@ static int txx9aclc_pcm_new(struct snd_soc_component *component,
                        goto exit;
        }
 
-       snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
+       snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
                card->dev, 64 * 1024, 4 * 1024 * 1024);
        return 0;
 
@@ -407,7 +396,6 @@ static const struct snd_soc_component_driver txx9aclc_soc_component = {
        .open           = txx9aclc_pcm_open,
        .close          = txx9aclc_pcm_close,
        .hw_params      = txx9aclc_pcm_hw_params,
-       .hw_free        = txx9aclc_pcm_hw_free,
        .prepare        = txx9aclc_pcm_prepare,
        .trigger        = txx9aclc_pcm_trigger,
        .pointer        = txx9aclc_pcm_pointer,