chip->pcm_devs = pcm_dev + 1; 
static int __devinit create_codec_pcm(azx_t *chip, struct hda_codec *codec,				      struct hda_pcm *cpcm, int pcm_dev){	int err;	snd_pcm_t *pcm;	struct azx_pcm *apcm;	snd_assert(cpcm->stream[0].substreams || cpcm->stream[1].substreams, return -EINVAL);	snd_assert(cpcm->name, return -EINVAL);	err = snd_pcm_new(chip->card, cpcm->name, pcm_dev,			  cpcm->stream[0].substreams, cpcm->stream[1].substreams,			  &pcm);	if (err < 0)		return err;	strcpy(pcm->name, cpcm->name);	apcm = kmalloc(sizeof(*apcm), GFP_KERNEL);	if (apcm == NULL)		return -ENOMEM;	apcm->chip = chip;	apcm->codec = codec;	apcm->hinfo[0] = &cpcm->stream[0];	apcm->hinfo[1] = &cpcm->stream[1];	pcm->private_data = apcm;	pcm->private_free = azx_pcm_free;	if (cpcm->stream[0].substreams)		snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &azx_pcm_ops);	if (cpcm->stream[1].substreams)		snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &azx_pcm_ops);	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,					      snd_dma_pci_data(chip->pci),					      1024 * 64, 1024 * 128);	chip->pcm[pcm_dev] = pcm;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/47123197c5522f4ae3dc5914e7832dd047f9ddc8/hda_intel.c/clean/sound/pci/hda/hda_intel.c