Liam Girdwood wrote: > 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 > > And now you have the same statement in two different lines. When it needs to be changed you have to change both lines. And furthermore in my opinion it distracts from the reason for the if statement: We want a different channel name. But ok, if you insist on it, I can live with changing it. - Lars