SNDRV_PCM_STREAM_LAST
for (i = 0; i <= SNDRV_PCM_STREAM_LAST; i++) {
const char *chan_names[SNDRV_PCM_STREAM_LAST + 1];
struct dma_chan *chan[SNDRV_PCM_STREAM_LAST + 1];
stream <= SNDRV_PCM_STREAM_LAST; \
struct snd_soc_dai_stream stream[SNDRV_PCM_STREAM_LAST + 1];
struct snd_soc_dpcm_runtime dpcm[SNDRV_PCM_STREAM_LAST + 1];
struct snd_soc_dapm_widget *c2c_widget[SNDRV_PCM_STREAM_LAST + 1];
u32 link_mask[SNDRV_PCM_STREAM_LAST + 1];
int num_devs[SNDRV_PCM_STREAM_LAST + 1];
struct dma_chan *dma_chans[SNDRV_PCM_STREAM_LAST + 1];
bool port_started[SNDRV_PCM_STREAM_LAST + 1];
bool clocks_in_use[SNDRV_PCM_STREAM_LAST + 1];
#define MTK_STREAM_NUM (SNDRV_PCM_STREAM_LAST + 1)
bool prepared[SNDRV_PCM_STREAM_LAST + 1];
struct snd_pcm_substream *substream[SNDRV_PCM_STREAM_LAST + 1];
int err_syc[SNDRV_PCM_STREAM_LAST + 1];
int err_ovf[SNDRV_PCM_STREAM_LAST + 1];
int err_udf[SNDRV_PCM_STREAM_LAST + 1];
struct snd_dmaengine_dai_dma_data dma_dais[SNDRV_PCM_STREAM_LAST + 1];
struct dma_chan *dmas[SNDRV_PCM_STREAM_LAST + 1];
stream = SNDRV_PCM_STREAM_LAST - substream->stream;
stream = SNDRV_PCM_STREAM_LAST - substream->stream;
struct snd_pcm_substream *substreams[SNDRV_PCM_STREAM_LAST + 1];
unsigned int wait_time[SNDRV_PCM_STREAM_LAST + 1];
#define MEDIA_MIXER_PAD_MAX (SNDRV_PCM_STREAM_LAST + 2)
struct virtio_pcm_stream streams[SNDRV_PCM_STREAM_LAST + 1];