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()
1955 dev_dbg(&umidi->dev->dev, "switching to altsetting %d with int ep\n", in snd_usbmidi_switch_roland_altsetting()
1957 usb_set_interface(umidi->dev, intfd->bInterfaceNumber, in snd_usbmidi_switch_roland_altsetting()
1960 umidi->roland_load_ctl = snd_ctl_new1(&roland_load_ctl, umidi); in snd_usbmidi_switch_roland_altsetting()
1961 if (snd_ctl_add(umidi->card, umidi->roland_load_ctl) < 0) in snd_usbmidi_switch_roland_altsetting()
1962 umidi->roland_load_ctl = NULL; in snd_usbmidi_switch_roland_altsetting()
1968 static int snd_usbmidi_detect_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_detect_endpoints() argument
1978 if (USB_ID_VENDOR(umidi->usb_id) == 0x0582) in snd_usbmidi_detect_endpoints()
1979 snd_usbmidi_switch_roland_altsetting(umidi); in snd_usbmidi_detect_endpoints()
1984 intf = umidi->iface; in snd_usbmidi_detect_endpoints()
2016 static int snd_usbmidi_detect_per_port_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_detect_per_port_endpoints() argument
2021 err = snd_usbmidi_detect_endpoints(umidi, endpoints, MIDI_MAX_ENDPOINTS); in snd_usbmidi_detect_per_port_endpoints()
2034 static int snd_usbmidi_detect_yamaha(struct snd_usb_midi *umidi, in snd_usbmidi_detect_yamaha() argument
2042 intf = umidi->iface; in snd_usbmidi_detect_yamaha()
2069 return snd_usbmidi_detect_endpoints(umidi, endpoint, 1); in snd_usbmidi_detect_yamaha()
2075 static int snd_usbmidi_detect_roland(struct snd_usb_midi *umidi, in snd_usbmidi_detect_roland() argument
2082 intf = umidi->iface; in snd_usbmidi_detect_roland()
2099 return snd_usbmidi_detect_endpoints(umidi, endpoint, 1); in snd_usbmidi_detect_roland()
2103 return snd_usbmidi_get_ms_info(umidi, endpoint); in snd_usbmidi_detect_roland()
2113 static int snd_usbmidi_create_endpoints_midiman(struct snd_usb_midi *umidi, in snd_usbmidi_create_endpoints_midiman() argument
2123 intf = umidi->iface; in snd_usbmidi_create_endpoints_midiman()
2139 dev_dbg(&umidi->dev->dev, "not enough endpoints\n"); in snd_usbmidi_create_endpoints_midiman()
2145 dev_dbg(&umidi->dev->dev, "endpoint[0] isn't interrupt\n"); in snd_usbmidi_create_endpoints_midiman()
2150 dev_dbg(&umidi->dev->dev, "endpoint[2] isn't bulk output\n"); in snd_usbmidi_create_endpoints_midiman()
2157 dev_dbg(&umidi->dev->dev, in snd_usbmidi_create_endpoints_midiman()
2167 err = snd_usbmidi_out_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2168 &umidi->endpoints[0]); in snd_usbmidi_create_endpoints_midiman()
2176 err = snd_usbmidi_in_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2177 &umidi->endpoints[0]); in snd_usbmidi_create_endpoints_midiman()
2185 err = snd_usbmidi_out_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2186 &umidi->endpoints[1]); in snd_usbmidi_create_endpoints_midiman()
2193 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints_midiman()
2196 &umidi->endpoints[cable & 1].out->ports[cable].substream); in snd_usbmidi_create_endpoints_midiman()
2198 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints_midiman()
2201 &umidi->endpoints[0].in->ports[cable].substream); in snd_usbmidi_create_endpoints_midiman()
2210 static int snd_usbmidi_create_rawmidi(struct snd_usb_midi *umidi, in snd_usbmidi_create_rawmidi() argument
2216 err = snd_rawmidi_new(umidi->card, "USB MIDI", in snd_usbmidi_create_rawmidi()
2217 umidi->next_midi_device++, in snd_usbmidi_create_rawmidi()
2221 strcpy(rmidi->name, umidi->card->shortname); in snd_usbmidi_create_rawmidi()
2226 rmidi->private_data = umidi; in snd_usbmidi_create_rawmidi()
2233 umidi->rmidi = rmidi; in snd_usbmidi_create_rawmidi()
2242 struct snd_usb_midi *umidi; in snd_usbmidi_input_stop() local
2245 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_input_stop()
2246 if (!umidi->input_running) in snd_usbmidi_input_stop()
2249 struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i]; in snd_usbmidi_input_stop()
2254 umidi->input_running = 0; in snd_usbmidi_input_stop()
2266 urb->dev = ep->umidi->dev; in snd_usbmidi_input_start_ep()
2276 struct snd_usb_midi *umidi; in snd_usbmidi_input_start() local
2279 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_input_start()
2280 if (umidi->input_running || !umidi->opened[1]) in snd_usbmidi_input_start()
2283 snd_usbmidi_input_start_ep(umidi->endpoints[i].in); in snd_usbmidi_input_start()
2284 umidi->input_running = 1; in snd_usbmidi_input_start()
2293 struct snd_usb_midi *umidi; in snd_usbmidi_suspend() local
2295 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_suspend()
2296 mutex_lock(&umidi->mutex); in snd_usbmidi_suspend()
2298 mutex_unlock(&umidi->mutex); in snd_usbmidi_suspend()
2307 struct snd_usb_midi *umidi; in snd_usbmidi_resume() local
2309 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_resume()
2310 mutex_lock(&umidi->mutex); in snd_usbmidi_resume()
2312 mutex_unlock(&umidi->mutex); in snd_usbmidi_resume()
2324 struct snd_usb_midi *umidi; in snd_usbmidi_create() local
2329 umidi = kzalloc(sizeof(*umidi), GFP_KERNEL); in snd_usbmidi_create()
2330 if (!umidi) in snd_usbmidi_create()
2332 umidi->dev = interface_to_usbdev(iface); in snd_usbmidi_create()
2333 umidi->card = card; in snd_usbmidi_create()
2334 umidi->iface = iface; in snd_usbmidi_create()
2335 umidi->quirk = quirk; in snd_usbmidi_create()
2336 umidi->usb_protocol_ops = &snd_usbmidi_standard_ops; in snd_usbmidi_create()
2337 spin_lock_init(&umidi->disc_lock); in snd_usbmidi_create()
2338 init_rwsem(&umidi->disc_rwsem); in snd_usbmidi_create()
2339 mutex_init(&umidi->mutex); in snd_usbmidi_create()
2340 umidi->usb_id = USB_ID(le16_to_cpu(umidi->dev->descriptor.idVendor), in snd_usbmidi_create()
2341 le16_to_cpu(umidi->dev->descriptor.idProduct)); in snd_usbmidi_create()
2342 setup_timer(&umidi->error_timer, snd_usbmidi_error_timer, in snd_usbmidi_create()
2343 (unsigned long)umidi); in snd_usbmidi_create()
2349 err = snd_usbmidi_get_ms_info(umidi, endpoints); in snd_usbmidi_create()
2350 if (umidi->usb_id == USB_ID(0x0763, 0x0150)) /* M-Audio Uno */ in snd_usbmidi_create()
2351 umidi->usb_protocol_ops = in snd_usbmidi_create()
2355 umidi->usb_protocol_ops = &snd_usbmidi_122l_ops; in snd_usbmidi_create()
2360 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1); in snd_usbmidi_create()
2363 err = snd_usbmidi_detect_yamaha(umidi, &endpoints[0]); in snd_usbmidi_create()
2366 err = snd_usbmidi_detect_roland(umidi, &endpoints[0]); in snd_usbmidi_create()
2369 umidi->usb_protocol_ops = &snd_usbmidi_midiman_ops; in snd_usbmidi_create()
2375 umidi->usb_protocol_ops = &snd_usbmidi_novation_ops; in snd_usbmidi_create()
2376 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2379 umidi->usb_protocol_ops = &snd_usbmidi_raw_ops; in snd_usbmidi_create()
2389 if (umidi->usb_id == USB_ID(0x07fd, 0x0001)) /* MOTU Fastlane */ in snd_usbmidi_create()
2390 usb_set_interface(umidi->dev, 0, 0); in snd_usbmidi_create()
2391 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2394 umidi->usb_protocol_ops = &snd_usbmidi_emagic_ops; in snd_usbmidi_create()
2397 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1); in snd_usbmidi_create()
2400 umidi->usb_protocol_ops = &snd_usbmidi_cme_ops; in snd_usbmidi_create()
2401 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2404 umidi->usb_protocol_ops = &snd_usbmidi_akai_ops; in snd_usbmidi_create()
2405 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2410 umidi->usb_protocol_ops = &snd_usbmidi_ftdi_ops; in snd_usbmidi_create()
2413 err = usb_control_msg(umidi->dev, usb_sndctrlpipe(umidi->dev, 0), in snd_usbmidi_create()
2418 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2421 umidi->usb_protocol_ops = &snd_usbmidi_ch345_broken_sysex_ops; in snd_usbmidi_create()
2422 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in snd_usbmidi_create()
2425 dev_err(&umidi->dev->dev, "invalid quirk type %d\n", in snd_usbmidi_create()
2431 kfree(umidi); in snd_usbmidi_create()
2442 err = snd_usbmidi_create_rawmidi(umidi, out_ports, in_ports); in snd_usbmidi_create()
2444 kfree(umidi); in snd_usbmidi_create()
2450 err = snd_usbmidi_create_endpoints_midiman(umidi, &endpoints[0]); in snd_usbmidi_create()
2452 err = snd_usbmidi_create_endpoints(umidi, endpoints); in snd_usbmidi_create()
2457 usb_autopm_get_interface_no_resume(umidi->iface); in snd_usbmidi_create()
2459 list_add_tail(&umidi->list, midi_list); in snd_usbmidi_create()