snd_ctl_add(emu->card, snd_ctl_new1(&snd_emu10k1_pcm_efx_voices_mask, emu)); 
kctl = snd_ctl_new1(&snd_emu10k1_pcm_efx_voices_mask, emu); if (!kctl) return -ENOMEM; kctl->id.device = device; snd_ctl_add(emu->card, kctl); 
int __devinit snd_emu10k1_pcm_efx(emu10k1_t * emu, int device, snd_pcm_t ** rpcm){	snd_pcm_t *pcm;	int err;	if (rpcm)		*rpcm = NULL;	if ((err = snd_pcm_new(emu->card, "emu10k1 efx", device, 8, 1, &pcm)) < 0)		return err;	pcm->private_data = emu;	pcm->private_free = snd_emu10k1_pcm_efx_free;	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops);	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_emu10k1_capture_efx_ops);	pcm->info_flags = 0;	strcpy(pcm->name, "Multichannel Capture/PT Playback");	emu->pcm_efx = pcm;	if (rpcm)		*rpcm = pcm;	/* EFX capture - record the "FXBUS2" channels, by default we connect the EXTINs 	 * to these	 */			/* emu->efx_voices_mask[0] = FXWC_DEFAULTROUTE_C | FXWC_DEFAULTROUTE_A; */	if (emu->audigy) {		emu->efx_voices_mask[0] = 0;		emu->efx_voices_mask[1] = 0xffff;	} else {		emu->efx_voices_mask[0] = 0xffff0000;		emu->efx_voices_mask[1] = 0;	}	snd_ctl_add(emu->card, snd_ctl_new1(&snd_emu10k1_pcm_efx_voices_mask, emu));	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(emu->pci), 64*1024, 64*1024);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/67ed4161f60d76b3b27efc085b36357a6a90768c/emupcm.c/buggy/sound/pci/emu10k1/emupcm.c