Lines Matching refs:emu

26 	struct snd_emux *emu;
29 emu = kzalloc(sizeof(*emu), GFP_KERNEL);
30 if (emu == NULL)
33 spin_lock_init(&emu->voice_lock);
34 mutex_init(&emu->register_mutex);
36 emu->client = -1;
38 emu->oss_synth = NULL;
40 emu->max_voices = 0;
41 emu->use_time = 0;
43 timer_setup(&emu->tlist, snd_emux_timer_callback, 0);
44 emu->timer_active = 0;
46 *remu = emu;
58 struct snd_emux *emu = private_data;
59 return emu->ops.sample_new(emu, sp, hdr, buf, count);
66 struct snd_emux *emu = private_data;
67 return emu->ops.sample_free(emu, sp, hdr);
73 struct snd_emux *emu = private_data;
74 emu->ops.sample_reset(emu);
77 int snd_emux_register(struct snd_emux *emu, struct snd_card *card, int index, char *name)
82 if (snd_BUG_ON(!emu->hw || emu->max_voices <= 0))
87 emu->card = card;
88 emu->name = kstrdup(name, GFP_KERNEL);
89 emu->voices = kcalloc(emu->max_voices, sizeof(struct snd_emux_voice),
91 if (emu->name == NULL || emu->voices == NULL)
96 sf_cb.private_data = emu;
97 if (emu->ops.sample_new)
99 if (emu->ops.sample_free)
101 if (emu->ops.sample_reset)
103 emu->sflist = snd_sf_new(&sf_cb, emu->memhdr);
104 if (emu->sflist == NULL)
107 if ((err = snd_emux_init_hwdep(emu)) < 0)
110 snd_emux_init_voices(emu);
112 snd_emux_init_seq(emu, card, index);
114 snd_emux_init_seq_oss(emu);
116 snd_emux_init_virmidi(emu, card);
118 snd_emux_proc_init(emu, card, index);
126 int snd_emux_free(struct snd_emux *emu)
128 if (! emu)
131 del_timer_sync(&emu->tlist);
133 snd_emux_proc_free(emu);
134 snd_emux_delete_virmidi(emu);
136 snd_emux_detach_seq_oss(emu);
138 snd_emux_detach_seq(emu);
139 snd_emux_delete_hwdep(emu);
140 snd_sf_free(emu->sflist);
141 kfree(emu->voices);
142 kfree(emu->name);
143 kfree(emu);