Lines Matching refs:dp

42 static int create_port(struct seq_oss_devinfo *dp);
43 static int delete_port(struct seq_oss_devinfo *dp);
44 static int alloc_seq_queue(struct seq_oss_devinfo *dp);
169 struct seq_oss_devinfo *dp;
171 dp = kzalloc(sizeof(*dp), GFP_KERNEL);
172 if (!dp)
175 dp->cseq = system_client;
176 dp->port = -1;
177 dp->queue = -1;
184 dp->index = i;
192 snd_seq_oss_synth_setup(dp);
193 snd_seq_oss_midi_setup(dp);
195 if (dp->synth_opened == 0 && dp->max_mididev == 0) {
202 rc = create_port(dp);
209 rc = alloc_seq_queue(dp);
214 dp->addr.client = dp->cseq;
215 dp->addr.port = dp->port;
216 /*dp->addr.queue = dp->queue;*/
217 /*dp->addr.channel = 0;*/
219 dp->seq_mode = level;
222 dp->file_mode = translate_mode(file);
225 if (is_read_mode(dp->file_mode)) {
226 dp->readq = snd_seq_oss_readq_new(dp, maxqlen);
227 if (!dp->readq) {
234 if (is_write_mode(dp->file_mode)) {
235 dp->writeq = snd_seq_oss_writeq_new(dp, maxqlen);
236 if (!dp->writeq) {
243 dp->timer = snd_seq_oss_timer_new(dp);
244 if (!dp->timer) {
251 file->private_data = dp;
255 snd_seq_oss_synth_setup_midi(dp);
256 else if (is_read_mode(dp->file_mode))
257 snd_seq_oss_midi_open_all(dp, SNDRV_SEQ_OSS_FILE_READ);
259 client_table[dp->index] = dp;
265 snd_seq_oss_synth_cleanup(dp);
266 snd_seq_oss_midi_cleanup(dp);
267 delete_seq_queue(dp->queue);
268 delete_port(dp);
294 create_port(struct seq_oss_devinfo *dp)
301 port.addr.client = dp->cseq;
302 sprintf(port.name, "Sequencer-%d", dp->index);
310 callback.private_data = dp;
319 dp->port = port.addr.port;
328 delete_port(struct seq_oss_devinfo *dp)
330 if (dp->port < 0) {
331 kfree(dp);
335 return snd_seq_event_port_detach(dp->cseq, dp->port);
342 alloc_seq_queue(struct seq_oss_devinfo *dp)
354 dp->queue = qinfo.queue;
384 struct seq_oss_devinfo *dp = (struct seq_oss_devinfo *)private;
386 snd_seq_oss_timer_delete(dp->timer);
388 snd_seq_oss_writeq_delete(dp->writeq);
390 snd_seq_oss_readq_delete(dp->readq);
392 kfree(dp);
400 snd_seq_oss_release(struct seq_oss_devinfo *dp)
404 client_table[dp->index] = NULL;
407 snd_seq_oss_reset(dp);
409 snd_seq_oss_synth_cleanup(dp);
410 snd_seq_oss_midi_cleanup(dp);
413 queue = dp->queue;
414 if (dp->port >= 0)
415 delete_port(dp);
424 snd_seq_oss_reset(struct seq_oss_devinfo *dp)
429 for (i = 0; i < dp->max_synthdev; i++)
430 snd_seq_oss_synth_reset(dp, i);
433 if (dp->seq_mode != SNDRV_SEQ_OSS_MODE_MUSIC) {
434 for (i = 0; i < dp->max_mididev; i++)
435 snd_seq_oss_midi_reset(dp, i);
439 if (dp->readq)
440 snd_seq_oss_readq_clear(dp->readq);
441 if (dp->writeq)
442 snd_seq_oss_writeq_clear(dp->writeq);
445 snd_seq_oss_timer_stop(dp->timer);
475 struct seq_oss_devinfo *dp;
483 dp = client_table[i];
484 if (!dp) {
488 snd_iprintf(buf, "port %d : queue %d\n", dp->port, dp->queue);
490 (dp->seq_mode ? "music" : "synth"),
491 filemode_str(dp->file_mode));
492 if (dp->seq_mode)
494 dp->timer->oss_tempo, dp->timer->oss_timebase);
496 if (is_read_mode(dp->file_mode) && dp->readq)
497 snd_seq_oss_readq_info_read(dp->readq, buf);