Lines Matching refs:umidi

137 	struct snd_usb_midi *umidi;  member
170 struct snd_usb_midi *umidi; member
232 dev_dbg(&ep->umidi->dev->dev, "unexpected port %d!\n", portidx); in snd_usbmidi_input_data()
235 if (!test_bit(port->substream->number, &ep->umidi->input_triggered)) in snd_usbmidi_input_data()
261 ep->umidi->usb_protocol_ops->input(ep, urb->transfer_buffer, in snd_usbmidi_in_urb_complete()
268 mod_timer(&ep->umidi->error_timer, in snd_usbmidi_in_urb_complete()
275 urb->dev = ep->umidi->dev; in snd_usbmidi_in_urb_complete()
297 mod_timer(&ep->umidi->error_timer, in snd_usbmidi_out_urb_complete()
316 if (ep->umidi->disconnected) { in snd_usbmidi_do_output()
326 ep->umidi->usb_protocol_ops->output(ep, urb); in snd_usbmidi_do_output()
332 urb->dev = ep->umidi->dev; in snd_usbmidi_do_output()
357 struct snd_usb_midi *umidi = (struct snd_usb_midi *)data; in snd_usbmidi_error_timer() local
360 spin_lock(&umidi->disc_lock); in snd_usbmidi_error_timer()
361 if (umidi->disconnected) { in snd_usbmidi_error_timer()
362 spin_unlock(&umidi->disc_lock); in snd_usbmidi_error_timer()
366 struct snd_usb_midi_in_endpoint *in = umidi->endpoints[i].in; in snd_usbmidi_error_timer()
372 in->urbs[j]->dev = umidi->dev; in snd_usbmidi_error_timer()
376 if (umidi->endpoints[i].out) in snd_usbmidi_error_timer()
377 snd_usbmidi_do_output(umidi->endpoints[i].out); in snd_usbmidi_error_timer()
379 spin_unlock(&umidi->disc_lock); in snd_usbmidi_error_timer()
392 err = usb_bulk_msg(ep->umidi->dev, ep->urbs[0].urb->pipe, in send_bulk_static_data()
561 port->ep->umidi->usb_protocol_ops->output_packet; in snd_usbmidi_transmit_byte()
910 switch (snd_usb_get_speed(ep->umidi->dev)) { in snd_usbmidi_us122l_output()
1071 static void update_roland_altsetting(struct snd_usb_midi *umidi) in update_roland_altsetting() argument
1078 intf = umidi->iface; in update_roland_altsetting()
1080 if (umidi->roland_load_ctl->private_value == is_light_load) in update_roland_altsetting()
1082 hostif = &intf->altsetting[umidi->roland_load_ctl->private_value]; in update_roland_altsetting()
1084 snd_usbmidi_input_stop(&umidi->list); in update_roland_altsetting()
1085 usb_set_interface(umidi->dev, intfd->bInterfaceNumber, in update_roland_altsetting()
1087 snd_usbmidi_input_start(&umidi->list); in update_roland_altsetting()
1093 struct snd_usb_midi *umidi = substream->rmidi->private_data; in substream_open() local
1096 down_read(&umidi->disc_rwsem); in substream_open()
1097 if (umidi->disconnected) { in substream_open()
1098 up_read(&umidi->disc_rwsem); in substream_open()
1102 mutex_lock(&umidi->mutex); in substream_open()
1104 if (!umidi->opened[0] && !umidi->opened[1]) { in substream_open()
1105 if (umidi->roland_load_ctl) { in substream_open()
1106 ctl = umidi->roland_load_ctl; in substream_open()
1109 snd_ctl_notify(umidi->card, in substream_open()
1111 update_roland_altsetting(umidi); in substream_open()
1114 umidi->opened[dir]++; in substream_open()
1115 if (umidi->opened[1]) in substream_open()
1116 snd_usbmidi_input_start(&umidi->list); in substream_open()
1118 umidi->opened[dir]--; in substream_open()
1119 if (!umidi->opened[1]) in substream_open()
1120 snd_usbmidi_input_stop(&umidi->list); in substream_open()
1121 if (!umidi->opened[0] && !umidi->opened[1]) { in substream_open()
1122 if (umidi->roland_load_ctl) { in substream_open()
1123 ctl = umidi->roland_load_ctl; in substream_open()
1126 snd_ctl_notify(umidi->card, in substream_open()
1131 mutex_unlock(&umidi->mutex); in substream_open()
1132 up_read(&umidi->disc_rwsem); in substream_open()
1138 struct snd_usb_midi *umidi = substream->rmidi->private_data; in snd_usbmidi_output_open() local
1143 if (umidi->endpoints[i].out) in snd_usbmidi_output_open()
1145 if (umidi->endpoints[i].out->ports[j].substream == substream) { in snd_usbmidi_output_open()
1146 port = &umidi->endpoints[i].out->ports[j]; in snd_usbmidi_output_open()
1172 if (port->ep->umidi->disconnected) { in snd_usbmidi_output_trigger()
1191 if (ep->umidi->disconnected) in snd_usbmidi_output_drain()
1227 struct snd_usb_midi *umidi = substream->rmidi->private_data; in snd_usbmidi_input_trigger() local
1230 set_bit(substream->number, &umidi->input_triggered); in snd_usbmidi_input_trigger()
1232 clear_bit(substream->number, &umidi->input_triggered); in snd_usbmidi_input_trigger()
1248 static void free_urb_and_buffer(struct snd_usb_midi *umidi, struct urb *urb, in free_urb_and_buffer() argument
1251 usb_free_coherent(umidi->dev, buffer_length, in free_urb_and_buffer()
1266 free_urb_and_buffer(ep->umidi, ep->urbs[i], in snd_usbmidi_in_endpoint_delete()
1274 static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi *umidi, in snd_usbmidi_in_endpoint_create() argument
1288 ep->umidi = umidi; in snd_usbmidi_in_endpoint_create()
1298 pipe = usb_rcvintpipe(umidi->dev, ep_info->in_ep); in snd_usbmidi_in_endpoint_create()
1300 pipe = usb_rcvbulkpipe(umidi->dev, ep_info->in_ep); in snd_usbmidi_in_endpoint_create()
1301 length = usb_maxpacket(umidi->dev, pipe, 0); in snd_usbmidi_in_endpoint_create()
1303 buffer = usb_alloc_coherent(umidi->dev, length, GFP_KERNEL, in snd_usbmidi_in_endpoint_create()
1310 usb_fill_int_urb(ep->urbs[i], umidi->dev, in snd_usbmidi_in_endpoint_create()
1315 usb_fill_bulk_urb(ep->urbs[i], umidi->dev, in snd_usbmidi_in_endpoint_create()
1335 free_urb_and_buffer(ep->umidi, ep->urbs[i].urb, in snd_usbmidi_out_endpoint_clear()
1350 static int snd_usbmidi_out_endpoint_create(struct snd_usb_midi *umidi, in snd_usbmidi_out_endpoint_create() argument
1363 ep->umidi = umidi; in snd_usbmidi_out_endpoint_create()
1374 pipe = usb_sndintpipe(umidi->dev, ep_info->out_ep); in snd_usbmidi_out_endpoint_create()
1376 pipe = usb_sndbulkpipe(umidi->dev, ep_info->out_ep); in snd_usbmidi_out_endpoint_create()
1377 switch (umidi->usb_id) { in snd_usbmidi_out_endpoint_create()
1379 ep->max_transfer = usb_maxpacket(umidi->dev, pipe, 1); in snd_usbmidi_out_endpoint_create()
1403 buffer = usb_alloc_coherent(umidi->dev, in snd_usbmidi_out_endpoint_create()
1411 usb_fill_int_urb(ep->urbs[i].urb, umidi->dev, in snd_usbmidi_out_endpoint_create()
1416 usb_fill_bulk_urb(ep->urbs[i].urb, umidi->dev, in snd_usbmidi_out_endpoint_create()
1433 if (umidi->usb_protocol_ops->init_out_endpoint) in snd_usbmidi_out_endpoint_create()
1434 umidi->usb_protocol_ops->init_out_endpoint(ep); in snd_usbmidi_out_endpoint_create()
1443 static void snd_usbmidi_free(struct snd_usb_midi *umidi) in snd_usbmidi_free() argument
1448 struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i]; in snd_usbmidi_free()
1454 mutex_destroy(&umidi->mutex); in snd_usbmidi_free()
1455 kfree(umidi); in snd_usbmidi_free()
1463 struct snd_usb_midi *umidi; in snd_usbmidi_disconnect() local
1466 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_disconnect()
1472 down_write(&umidi->disc_rwsem); in snd_usbmidi_disconnect()
1473 spin_lock_irq(&umidi->disc_lock); in snd_usbmidi_disconnect()
1474 umidi->disconnected = 1; in snd_usbmidi_disconnect()
1475 spin_unlock_irq(&umidi->disc_lock); in snd_usbmidi_disconnect()
1476 up_write(&umidi->disc_rwsem); in snd_usbmidi_disconnect()
1479 struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i]; in snd_usbmidi_disconnect()
1485 if (umidi->usb_protocol_ops->finish_out_endpoint) in snd_usbmidi_disconnect()
1486 umidi->usb_protocol_ops->finish_out_endpoint(ep->out); in snd_usbmidi_disconnect()
1504 del_timer_sync(&umidi->error_timer); in snd_usbmidi_disconnect()
1510 struct snd_usb_midi *umidi = rmidi->private_data; in snd_usbmidi_rawmidi_free() local
1511 snd_usbmidi_free(umidi); in snd_usbmidi_rawmidi_free()
1514 static struct snd_rawmidi_substream *snd_usbmidi_find_substream(struct snd_usb_midi *umidi, in snd_usbmidi_find_substream() argument
1520 list_for_each_entry(substream, &umidi->rmidi->streams[stream].substreams, in snd_usbmidi_find_substream()
1708 static struct port_info *find_port_info(struct snd_usb_midi *umidi, int number) in find_port_info() argument
1713 if (snd_usbmidi_port_info[i].id == umidi->usb_id && in find_port_info()
1723 struct snd_usb_midi *umidi = rmidi->private_data; in snd_usbmidi_get_port_info() local
1727 port_info = find_port_info(umidi, number); in snd_usbmidi_get_port_info()
1734 static void snd_usbmidi_init_substream(struct snd_usb_midi *umidi, in snd_usbmidi_init_substream() argument
1742 snd_usbmidi_find_substream(umidi, stream, number); in snd_usbmidi_init_substream()
1744 dev_err(&umidi->dev->dev, "substream %d:%d not found\n", stream, in snd_usbmidi_init_substream()
1750 port_info = find_port_info(umidi, number); in snd_usbmidi_init_substream()
1753 name_format, umidi->card->shortname, number + 1); in snd_usbmidi_init_substream()
1761 static int snd_usbmidi_create_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_create_endpoints() argument
1769 err = snd_usbmidi_out_endpoint_create(umidi, in snd_usbmidi_create_endpoints()
1771 &umidi->endpoints[i]); in snd_usbmidi_create_endpoints()
1776 err = snd_usbmidi_in_endpoint_create(umidi, in snd_usbmidi_create_endpoints()
1778 &umidi->endpoints[i]); in snd_usbmidi_create_endpoints()
1785 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints()
1788 &umidi->endpoints[i].out->ports[j].substream); in snd_usbmidi_create_endpoints()
1792 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints()
1795 &umidi->endpoints[i].in->ports[j].substream); in snd_usbmidi_create_endpoints()
1800 dev_dbg(&umidi->dev->dev, "created %d output and %d input ports\n", in snd_usbmidi_create_endpoints()
1808 static int snd_usbmidi_get_ms_info(struct snd_usb_midi *umidi, in snd_usbmidi_get_ms_info() argument
1820 intf = umidi->iface; in snd_usbmidi_get_ms_info()
1830 dev_dbg(&umidi->dev->dev, "MIDIStreaming version %02x.%02x\n", in snd_usbmidi_get_ms_info()
1833 dev_warn(&umidi->dev->dev, in snd_usbmidi_get_ms_info()
1851 dev_warn(&umidi->dev->dev, in snd_usbmidi_get_ms_info()
1859 else if (snd_usb_get_speed(umidi->dev) == USB_SPEED_LOW) in snd_usbmidi_get_ms_info()
1868 dev_dbg(&umidi->dev->dev, "EP %02X: %d jack(s)\n", in snd_usbmidi_get_ms_info()
1873 dev_warn(&umidi->dev->dev, in snd_usbmidi_get_ms_info()
1881 else if (snd_usb_get_speed(umidi->dev) == USB_SPEED_LOW) in snd_usbmidi_get_ms_info()
1885 dev_dbg(&umidi->dev->dev, "EP %02X: %d jack(s)\n", in snd_usbmidi_get_ms_info()
1910 struct snd_usb_midi *umidi = kcontrol->private_data; in roland_load_put() local
1915 mutex_lock(&umidi->mutex); in roland_load_put()
1919 mutex_unlock(&umidi->mutex); in roland_load_put()
1936 static void snd_usbmidi_switch_roland_altsetting(struct snd_usb_midi *umidi) in snd_usbmidi_switch_roland_altsetting() argument
1942 intf = umidi->iface; in snd_usbmidi_switch_roland_altsetting()
1958 dev_dbg(&umidi->dev->dev, "switching to altsetting %d with int ep\n", in snd_usbmidi_switch_roland_altsetting()
1960 usb_set_interface(umidi->dev, intfd->bInterfaceNumber, in snd_usbmidi_switch_roland_altsetting()
1963 umidi->roland_load_ctl = snd_ctl_new1(&roland_load_ctl, umidi); in snd_usbmidi_switch_roland_altsetting()
1964 if (snd_ctl_add(umidi->card, umidi->roland_load_ctl) < 0) in snd_usbmidi_switch_roland_altsetting()
1965 umidi->roland_load_ctl = NULL; in snd_usbmidi_switch_roland_altsetting()
1971 static int snd_usbmidi_detect_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_detect_endpoints() argument
1981 if (USB_ID_VENDOR(umidi->usb_id) == 0x0582) in snd_usbmidi_detect_endpoints()
1982 snd_usbmidi_switch_roland_altsetting(umidi); in snd_usbmidi_detect_endpoints()
1987 intf = umidi->iface; in snd_usbmidi_detect_endpoints()
2019 static int snd_usbmidi_detect_per_port_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_detect_per_port_endpoints() argument
2024 err = snd_usbmidi_detect_endpoints(umidi, endpoints, MIDI_MAX_ENDPOINTS); in snd_usbmidi_detect_per_port_endpoints()
2037 static int snd_usbmidi_detect_yamaha(struct snd_usb_midi *umidi, in snd_usbmidi_detect_yamaha() argument
2045 intf = umidi->iface; in snd_usbmidi_detect_yamaha()
2072 return snd_usbmidi_detect_endpoints(umidi, endpoint, 1); in snd_usbmidi_detect_yamaha()
2078 static int snd_usbmidi_detect_roland(struct snd_usb_midi *umidi, in snd_usbmidi_detect_roland() argument
2085 intf = umidi->iface; in snd_usbmidi_detect_roland()
2102 return snd_usbmidi_detect_endpoints(umidi, endpoint, 1); in snd_usbmidi_detect_roland()
2106 return snd_usbmidi_get_ms_info(umidi, endpoint); in snd_usbmidi_detect_roland()
2116 static int snd_usbmidi_create_endpoints_midiman(struct snd_usb_midi *umidi, in snd_usbmidi_create_endpoints_midiman() argument
2126 intf = umidi->iface; in snd_usbmidi_create_endpoints_midiman()
2142 dev_dbg(&umidi->dev->dev, "not enough endpoints\n"); in snd_usbmidi_create_endpoints_midiman()
2148 dev_dbg(&umidi->dev->dev, "endpoint[0] isn't interrupt\n"); in snd_usbmidi_create_endpoints_midiman()
2153 dev_dbg(&umidi->dev->dev, "endpoint[2] isn't bulk output\n"); in snd_usbmidi_create_endpoints_midiman()
2160 dev_dbg(&umidi->dev->dev, in snd_usbmidi_create_endpoints_midiman()
2170 err = snd_usbmidi_out_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2171 &umidi->endpoints[0]); in snd_usbmidi_create_endpoints_midiman()
2179 err = snd_usbmidi_in_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2180 &umidi->endpoints[0]); in snd_usbmidi_create_endpoints_midiman()
2188 err = snd_usbmidi_out_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2189 &umidi->endpoints[1]); in snd_usbmidi_create_endpoints_midiman()
2196 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints_midiman()
2199 &umidi->endpoints[cable & 1].out->ports[cable].substream); in snd_usbmidi_create_endpoints_midiman()
2201 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints_midiman()
2204 &umidi->endpoints[0].in->ports[cable].substream); in snd_usbmidi_create_endpoints_midiman()
2213 static int snd_usbmidi_create_rawmidi(struct snd_usb_midi *umidi, in snd_usbmidi_create_rawmidi() argument
2219 err = snd_rawmidi_new(umidi->card, "USB MIDI", in snd_usbmidi_create_rawmidi()
2220 umidi->next_midi_device++, in snd_usbmidi_create_rawmidi()
2224 strcpy(rmidi->name, umidi->card->shortname); in snd_usbmidi_create_rawmidi()
2229 rmidi->private_data = umidi; in snd_usbmidi_create_rawmidi()
2236 umidi->rmidi = rmidi; in snd_usbmidi_create_rawmidi()
2245 struct snd_usb_midi *umidi; in snd_usbmidi_input_stop() local
2248 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_input_stop()
2249 if (!umidi->input_running) in snd_usbmidi_input_stop()
2252 struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i]; in snd_usbmidi_input_stop()
2257 umidi->input_running = 0; in snd_usbmidi_input_stop()
2269 urb->dev = ep->umidi->dev; in snd_usbmidi_input_start_ep()
2279 struct snd_usb_midi *umidi; in snd_usbmidi_input_start() local
2282 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_input_start()
2283 if (umidi->input_running || !umidi->opened[1]) in snd_usbmidi_input_start()
2286 snd_usbmidi_input_start_ep(umidi->endpoints[i].in); in snd_usbmidi_input_start()
2287 umidi->input_running = 1; in snd_usbmidi_input_start()
2296 struct snd_usb_midi *umidi; in snd_usbmidi_suspend() local
2298 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_suspend()
2299 mutex_lock(&umidi->mutex); in snd_usbmidi_suspend()
2301 mutex_unlock(&umidi->mutex); in snd_usbmidi_suspend()
2310 struct snd_usb_midi *umidi; in snd_usbmidi_resume() local
2312 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_resume()
2313 mutex_lock(&umidi->mutex); in snd_usbmidi_resume()
2315 mutex_unlock(&umidi->mutex); in snd_usbmidi_resume()
2327 struct snd_usb_midi *umidi; in snd_usbmidi_create() local
2332 umidi = kzalloc(sizeof(*umidi), GFP_KERNEL); in snd_usbmidi_create()
2333 if (!umidi) in snd_usbmidi_create()
2335 umidi->dev = interface_to_usbdev(iface); in snd_usbmidi_create()
2336 umidi->card = card; in snd_usbmidi_create()
2337 umidi->iface = iface; in snd_usbmidi_create()
2338 umidi->quirk = quirk; in snd_usbmidi_create()
2339 umidi->usb_protocol_ops = &snd_usbmidi_standard_ops; in snd_usbmidi_create()
2340 spin_lock_init(&umidi->disc_lock); in snd_usbmidi_create()
2341 init_rwsem(&umidi->disc_rwsem); in snd_usbmidi_create()
2342 mutex_init(&umidi->mutex); in snd_usbmidi_create()
2343 umidi->usb_id = USB_ID(le16_to_cpu(umidi->dev->descriptor.idVendor), in snd_usbmidi_create()
2344 le16_to_cpu(umidi->dev->descriptor.idProduct)); in snd_usbmidi_create()
2345 setup_timer(&umidi->error_timer, snd_usbmidi_error_timer, in snd_usbmidi_create()
2346 (unsigned long)umidi); in snd_usbmidi_create()
2352 err = snd_usbmidi_get_ms_info(umidi, endpoints); in snd_usbmidi_create()
2353 if (umidi->usb_id == USB_ID(0x0763, 0x0150)) /* M-Audio Uno */ in snd_usbmidi_create()
2354 umidi->usb_protocol_ops = in snd_usbmidi_create()
2358 umidi->usb_protocol_ops = &snd_usbmidi_122l_ops; in snd_usbmidi_create()
2363 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1); in snd_usbmidi_create()
2366 err = snd_usbmidi_detect_yamaha(umidi, &endpoints[0]); in snd_usbmidi_create()
2369 err = snd_usbmidi_detect_roland(umidi, &endpoints[0]); in snd_usbmidi_create()
2372 umidi->usb_protocol_ops = &snd_usbmidi_midiman_ops; in snd_usbmidi_create()
2378 umidi->usb_protocol_ops = &snd_usbmidi_novation_ops; in snd_usbmidi_create()
2379 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2382 umidi->usb_protocol_ops = &snd_usbmidi_raw_ops; in snd_usbmidi_create()
2392 if (umidi->usb_id == USB_ID(0x07fd, 0x0001)) /* MOTU Fastlane */ in snd_usbmidi_create()
2393 usb_set_interface(umidi->dev, 0, 0); in snd_usbmidi_create()
2394 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2397 umidi->usb_protocol_ops = &snd_usbmidi_emagic_ops; in snd_usbmidi_create()
2400 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1); in snd_usbmidi_create()
2403 umidi->usb_protocol_ops = &snd_usbmidi_cme_ops; in snd_usbmidi_create()
2404 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2407 umidi->usb_protocol_ops = &snd_usbmidi_akai_ops; in snd_usbmidi_create()
2408 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2413 umidi->usb_protocol_ops = &snd_usbmidi_ftdi_ops; in snd_usbmidi_create()
2416 err = usb_control_msg(umidi->dev, usb_sndctrlpipe(umidi->dev, 0), in snd_usbmidi_create()
2421 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2424 umidi->usb_protocol_ops = &snd_usbmidi_ch345_broken_sysex_ops; in snd_usbmidi_create()
2425 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2428 dev_err(&umidi->dev->dev, "invalid quirk type %d\n", in snd_usbmidi_create()
2434 kfree(umidi); in snd_usbmidi_create()
2445 err = snd_usbmidi_create_rawmidi(umidi, out_ports, in_ports); in snd_usbmidi_create()
2447 kfree(umidi); in snd_usbmidi_create()
2453 err = snd_usbmidi_create_endpoints_midiman(umidi, &endpoints[0]); in snd_usbmidi_create()
2455 err = snd_usbmidi_create_endpoints(umidi, endpoints); in snd_usbmidi_create()
2460 usb_autopm_get_interface_no_resume(umidi->iface); in snd_usbmidi_create()
2462 list_add_tail(&umidi->list, midi_list); in snd_usbmidi_create()