On Thu, 2010-06-03 at 19:16 +0200, Lars-Peter Clausen wrote: > Liam Girdwood wrote: > > On Thu, 2010-06-03 at 18:50 +0200, Lars-Peter Clausen wrote: > > > >>>> + config = snd_soc_dai_get_dma_data(rtd->dai->cpu_dai, > >>>> > >> substream); > >> > >>>> + if (!prtd->dma) { > >>>> + const char *dma_channel_name; > >>>> + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) > >>>> + dma_channel_name = "PCM Playback"; > >>>> + else > >>>> + dma_channel_name = "PCM Capture"; > >>>> + > >>>> + prtd->dma = jz4740_dma_request(substream, > >>>> > >> dma_channel_name); > >> > >>>> > >>>> > >>> dma_channel_name variable is not required here. Just use the const > >>> > >> char > >> > >>> * directly. > >>> > >>> > >>> > >> I actually had it like that before, but I think it is much more readable > >> in its current form. > >> > > > > I disagree, having the char pointer here just adds an extra level of > > indirection and costs an extra two lines of code. > > > > Liam > > > Hi > > Could you give an concrete example of how you would code it? > Sure, if (!prtd->dma) { if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) prtd->dma = jz4740_dma_request(substream, "PCM Playback"); else prtd->dma = jz4740_dma_request(substream, "PCM Capture"); } Liam -- Freelance Developer, SlimLogic Ltd ASoC and Voltage Regulator Maintainer. http://www.slimlogic.co.uk