From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Mack Subject: [PATCH] ALSA: ASoC: davinci-pcm: stub out gen_pool functions for !CONFIG_GENERIC_ALLOCATOR Date: Wed, 10 Oct 2012 14:49:48 +0200 Message-ID: <1349873388-32331-1-git-send-email-zonque@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.zonque.de (svenfoo.org [82.94.215.22]) by alsa0.perex.cz (Postfix) with ESMTP id B93762616B4 for ; Wed, 10 Oct 2012 14:49:58 +0200 (CEST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org Cc: Matt Porter , broonie@opensource.wolfsonmicro.com, "Hebbar, Gururaja" , Anil Kumar , Daniel Mack , lrg@ti.com List-Id: alsa-devel@alsa-project.org On platforms without CONFIG_GENERIC_ALLOCATOR, these functions can be no-ops. The code that uses the memory buffers does the right thing if they are NULL. Signed-off-by: Daniel Mack Cc: Hebbar, Gururaja Cc: Matt Porter Cc: Anil Kumar --- Alternatively, the gen_pool functions could stub out themselves for !CONFIG_GENERIC_ALLOCATOR. sound/soc/davinci/davinci-pcm.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/sound/soc/davinci/davinci-pcm.c b/sound/soc/davinci/davinci-pcm.c index 01b3f17..afab81f 100644 --- a/sound/soc/davinci/davinci-pcm.c +++ b/sound/soc/davinci/davinci-pcm.c @@ -251,6 +251,7 @@ static void davinci_pcm_dma_irq(unsigned link, u16 ch_status, void *data) } } +#ifdef CONFIG_GENERIC_ALLOCATOR static int allocate_sram(struct snd_pcm_substream *substream, struct gen_pool *sram_pool, unsigned size, struct snd_pcm_hardware *ppcm) @@ -284,6 +285,28 @@ exit1: return -ENOMEM; } +static void davinci_free_sram(struct snd_pcm_substream *substream, + struct snd_dma_buffer *iram_dma) +{ + struct davinci_runtime_data *prtd = substream->runtime->private_data; + struct gen_pool *sram_pool = prtd->params->sram_pool; + + gen_pool_free(sram_pool, (unsigned) iram_dma->area, iram_dma->bytes); +} +#else +static int allocate_sram(struct snd_pcm_substream *substream, + struct gen_pool *sram_pool, unsigned size, + struct snd_pcm_hardware *ppcm) +{ + return 0; +} + +static void davinci_free_sram(struct snd_pcm_substream *substream, + struct snd_dma_buffer *iram_dma) +{ +} +#endif + /* * Only used with ping/pong. * This is called after runtime->dma_addr, period_bytes and data_type are valid @@ -813,11 +836,7 @@ static void davinci_pcm_free(struct snd_pcm *pcm) buf->area = NULL; iram_dma = buf->private_data; if (iram_dma) { - struct davinci_runtime_data *prtd = - substream->runtime->private_data; - struct gen_pool *sram_pool = prtd->params->sram_pool; - gen_pool_free(sram_pool, (unsigned)iram_dma->area, - iram_dma->bytes); + davinci_free_sram(substream, iram_dma); kfree(iram_dma); } } -- 1.7.11.4