diff options
Diffstat (limited to 'sound/core/seq/seq_dummy.c')
| -rw-r--r-- | sound/core/seq/seq_dummy.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/sound/core/seq/seq_dummy.c b/sound/core/seq/seq_dummy.c index ec667f158f19..5d905d90d504 100644 --- a/sound/core/seq/seq_dummy.c +++ b/sound/core/seq/seq_dummy.c | |||
| @@ -82,36 +82,6 @@ struct snd_seq_dummy_port { | |||
| 82 | static int my_client = -1; | 82 | static int my_client = -1; |
| 83 | 83 | ||
| 84 | /* | 84 | /* |
| 85 | * unuse callback - send ALL_SOUNDS_OFF and RESET_CONTROLLERS events | ||
| 86 | * to subscribers. | ||
| 87 | * Note: this callback is called only after all subscribers are removed. | ||
| 88 | */ | ||
| 89 | static int | ||
| 90 | dummy_unuse(void *private_data, struct snd_seq_port_subscribe *info) | ||
| 91 | { | ||
| 92 | struct snd_seq_dummy_port *p; | ||
| 93 | int i; | ||
| 94 | struct snd_seq_event ev; | ||
| 95 | |||
| 96 | p = private_data; | ||
| 97 | memset(&ev, 0, sizeof(ev)); | ||
| 98 | if (p->duplex) | ||
| 99 | ev.source.port = p->connect; | ||
| 100 | else | ||
| 101 | ev.source.port = p->port; | ||
| 102 | ev.dest.client = SNDRV_SEQ_ADDRESS_SUBSCRIBERS; | ||
| 103 | ev.type = SNDRV_SEQ_EVENT_CONTROLLER; | ||
| 104 | for (i = 0; i < 16; i++) { | ||
| 105 | ev.data.control.channel = i; | ||
| 106 | ev.data.control.param = MIDI_CTL_ALL_SOUNDS_OFF; | ||
| 107 | snd_seq_kernel_client_dispatch(p->client, &ev, 0, 0); | ||
| 108 | ev.data.control.param = MIDI_CTL_RESET_CONTROLLERS; | ||
| 109 | snd_seq_kernel_client_dispatch(p->client, &ev, 0, 0); | ||
| 110 | } | ||
| 111 | return 0; | ||
| 112 | } | ||
| 113 | |||
| 114 | /* | ||
| 115 | * event input callback - just redirect events to subscribers | 85 | * event input callback - just redirect events to subscribers |
| 116 | */ | 86 | */ |
| 117 | static int | 87 | static int |
| @@ -175,7 +145,6 @@ create_port(int idx, int type) | |||
| 175 | | SNDRV_SEQ_PORT_TYPE_PORT; | 145 | | SNDRV_SEQ_PORT_TYPE_PORT; |
| 176 | memset(&pcb, 0, sizeof(pcb)); | 146 | memset(&pcb, 0, sizeof(pcb)); |
| 177 | pcb.owner = THIS_MODULE; | 147 | pcb.owner = THIS_MODULE; |
| 178 | pcb.unuse = dummy_unuse; | ||
| 179 | pcb.event_input = dummy_input; | 148 | pcb.event_input = dummy_input; |
| 180 | pcb.private_free = dummy_free; | 149 | pcb.private_free = dummy_free; |
| 181 | pcb.private_data = rec; | 150 | pcb.private_data = rec; |
