• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/sound/core/seq/

Lines Matching refs:rdev

78 static int snd_virmidi_dev_receive_event(struct snd_virmidi_dev *rdev,
85 read_lock(&rdev->filelist_lock);
86 list_for_each_entry(vmidi, &rdev->filelist, list) {
99 read_unlock(&rdev->filelist_lock);
118 struct snd_virmidi_dev *rdev;
120 rdev = private_data;
121 if (!(rdev->flags & SNDRV_VIRMIDI_USE))
123 return snd_virmidi_dev_receive_event(rdev, ev);
152 !(vmidi->rdev->flags & SNDRV_VIRMIDI_SUBSCRIBE)) {
192 struct snd_virmidi_dev *rdev = substream->rmidi->private_data;
205 vmidi->seq_mode = rdev->seq_mode;
206 vmidi->client = rdev->client;
207 vmidi->port = rdev->port;
209 write_lock_irqsave(&rdev->filelist_lock, flags);
210 list_add_tail(&vmidi->list, &rdev->filelist);
211 write_unlock_irqrestore(&rdev->filelist_lock, flags);
212 vmidi->rdev = rdev;
221 struct snd_virmidi_dev *rdev = substream->rmidi->private_data;
233 vmidi->seq_mode = rdev->seq_mode;
234 vmidi->client = rdev->client;
235 vmidi->port = rdev->port;
237 vmidi->rdev = rdev;
273 struct snd_virmidi_dev *rdev;
275 rdev = private_data;
276 if (!try_module_get(rdev->card->module))
278 rdev->flags |= SNDRV_VIRMIDI_SUBSCRIBE;
288 struct snd_virmidi_dev *rdev;
290 rdev = private_data;
291 rdev->flags &= ~SNDRV_VIRMIDI_SUBSCRIBE;
292 module_put(rdev->card->module);
303 struct snd_virmidi_dev *rdev;
305 rdev = private_data;
306 if (!try_module_get(rdev->card->module))
308 rdev->flags |= SNDRV_VIRMIDI_USE;
318 struct snd_virmidi_dev *rdev;
320 rdev = private_data;
321 rdev->flags &= ~SNDRV_VIRMIDI_USE;
322 module_put(rdev->card->module);
346 static int snd_virmidi_dev_attach_seq(struct snd_virmidi_dev *rdev)
353 if (rdev->client >= 0)
362 client = snd_seq_create_kernel_client(rdev->card, rdev->device,
363 "%s %d-%d", rdev->rmidi->name,
364 rdev->card->number,
365 rdev->device);
370 rdev->client = client;
375 sprintf(pinfo->name, "VirMIDI %d-%d", rdev->card->number, rdev->device);
386 pcallbacks.private_data = rdev;
396 rdev->client = -1;
400 rdev->port = pinfo->addr.port;
412 static void snd_virmidi_dev_detach_seq(struct snd_virmidi_dev *rdev)
414 if (rdev->client >= 0) {
415 snd_seq_delete_kernel_client(rdev->client);
416 rdev->client = -1;
425 struct snd_virmidi_dev *rdev = rmidi->private_data;
428 switch (rdev->seq_mode) {
430 err = snd_virmidi_dev_attach_seq(rdev);
435 if (rdev->client == 0)
440 snd_printk(KERN_ERR "seq_mode is not set: %d\n", rdev->seq_mode);
452 struct snd_virmidi_dev *rdev = rmidi->private_data;
454 if (rdev->seq_mode == SNDRV_VIRMIDI_SEQ_DISPATCH)
455 snd_virmidi_dev_detach_seq(rdev);
472 struct snd_virmidi_dev *rdev = rmidi->private_data;
473 kfree(rdev);
484 struct snd_virmidi_dev *rdev;
494 rdev = kzalloc(sizeof(*rdev), GFP_KERNEL);
495 if (rdev == NULL) {
499 rdev->card = card;
500 rdev->rmidi = rmidi;
501 rdev->device = device;
502 rdev->client = -1;
503 rwlock_init(&rdev->filelist_lock);
504 INIT_LIST_HEAD(&rdev->filelist);
505 rdev->seq_mode = SNDRV_VIRMIDI_SEQ_DISPATCH;
506 rmidi->private_data = rdev;