emu->name = snd_kmalloc_strdup(name, GFP_KERNEL); 
emu->name = kstrdup(name, GFP_KERNEL); 
int snd_emux_register(snd_emux_t *emu, snd_card_t *card, int index, char *name){	int err;	snd_sf_callback_t sf_cb;	snd_assert(emu->hw != NULL, return -EINVAL);	snd_assert(emu->max_voices > 0, return -EINVAL);	snd_assert(card != NULL, return -EINVAL);	snd_assert(name != NULL, return -EINVAL);	emu->card = card;	emu->name = snd_kmalloc_strdup(name, GFP_KERNEL);	emu->voices = kcalloc(emu->max_voices, sizeof(snd_emux_voice_t), GFP_KERNEL);	if (emu->voices == NULL)		return -ENOMEM;	/* create soundfont list */	memset(&sf_cb, 0, sizeof(sf_cb));	sf_cb.private_data = emu;	sf_cb.sample_new = (snd_sf_sample_new_t)emu->ops.sample_new;	sf_cb.sample_free = (snd_sf_sample_free_t)emu->ops.sample_free;	sf_cb.sample_reset = (snd_sf_sample_reset_t)emu->ops.sample_reset;	emu->sflist = snd_sf_new(&sf_cb, emu->memhdr);	if (emu->sflist == NULL)		return -ENOMEM;	if ((err = snd_emux_init_hwdep(emu)) < 0)		return err;	snd_emux_init_voices(emu);	snd_emux_init_seq(emu, card, index);#ifdef CONFIG_SND_SEQUENCER_OSS	snd_emux_init_seq_oss(emu);#endif	snd_emux_init_virmidi(emu, card);#ifdef CONFIG_PROC_FS	snd_emux_proc_init(emu, card, index);#endif	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/543537bd922692bc978e2e356fcd8bfc9c2ee7d5/emux.c/clean/sound/synth/emux/emux.c