Lines Matching refs:umidi

121 	struct snd_usb_midi *umidi;  member
154 struct snd_usb_midi *umidi; member
216 dev_dbg(&ep->umidi->dev->dev, "unexpected port %d!\n", portidx); in snd_usbmidi_input_data()
219 if (!test_bit(port->substream->number, &ep->umidi->input_triggered)) in snd_usbmidi_input_data()
245 ep->umidi->usb_protocol_ops->input(ep, urb->transfer_buffer, in snd_usbmidi_in_urb_complete()
252 mod_timer(&ep->umidi->error_timer, in snd_usbmidi_in_urb_complete()
259 urb->dev = ep->umidi->dev; in snd_usbmidi_in_urb_complete()
282 mod_timer(&ep->umidi->error_timer, in snd_usbmidi_out_urb_complete()
301 if (ep->umidi->disconnected) { in snd_usbmidi_do_output()
311 ep->umidi->usb_protocol_ops->output(ep, urb); in snd_usbmidi_do_output()
317 urb->dev = ep->umidi->dev; in snd_usbmidi_do_output()
342 struct snd_usb_midi *umidi = from_timer(umidi, t, error_timer); in snd_usbmidi_error_timer() local
345 spin_lock(&umidi->disc_lock); in snd_usbmidi_error_timer()
346 if (umidi->disconnected) { in snd_usbmidi_error_timer()
347 spin_unlock(&umidi->disc_lock); in snd_usbmidi_error_timer()
351 struct snd_usb_midi_in_endpoint *in = umidi->endpoints[i].in; in snd_usbmidi_error_timer()
357 in->urbs[j]->dev = umidi->dev; in snd_usbmidi_error_timer()
361 if (umidi->endpoints[i].out) in snd_usbmidi_error_timer()
362 snd_usbmidi_do_output(umidi->endpoints[i].out); in snd_usbmidi_error_timer()
364 spin_unlock(&umidi->disc_lock); in snd_usbmidi_error_timer()
377 err = usb_bulk_msg(ep->umidi->dev, ep->urbs[0].urb->pipe, in send_bulk_static_data()
546 port->ep->umidi->usb_protocol_ops->output_packet; in snd_usbmidi_transmit_byte()
896 switch (snd_usb_get_speed(ep->umidi->dev)) { in snd_usbmidi_us122l_output()
1058 static void update_roland_altsetting(struct snd_usb_midi *umidi) in update_roland_altsetting() argument
1065 intf = umidi->iface; in update_roland_altsetting()
1067 if (umidi->roland_load_ctl->private_value == is_light_load) in update_roland_altsetting()
1069 hostif = &intf->altsetting[umidi->roland_load_ctl->private_value]; in update_roland_altsetting()
1071 snd_usbmidi_input_stop(&umidi->list); in update_roland_altsetting()
1072 usb_set_interface(umidi->dev, intfd->bInterfaceNumber, in update_roland_altsetting()
1074 snd_usbmidi_input_start(&umidi->list); in update_roland_altsetting()
1080 struct snd_usb_midi *umidi = substream->rmidi->private_data; in substream_open() local
1083 down_read(&umidi->disc_rwsem); in substream_open()
1084 if (umidi->disconnected) { in substream_open()
1085 up_read(&umidi->disc_rwsem); in substream_open()
1089 mutex_lock(&umidi->mutex); in substream_open()
1091 if (!umidi->opened[0] && !umidi->opened[1]) { in substream_open()
1092 if (umidi->roland_load_ctl) { in substream_open()
1093 ctl = umidi->roland_load_ctl; in substream_open()
1096 snd_ctl_notify(umidi->card, in substream_open()
1098 update_roland_altsetting(umidi); in substream_open()
1101 umidi->opened[dir]++; in substream_open()
1102 if (umidi->opened[1]) in substream_open()
1103 snd_usbmidi_input_start(&umidi->list); in substream_open()
1105 umidi->opened[dir]--; in substream_open()
1106 if (!umidi->opened[1]) in substream_open()
1107 snd_usbmidi_input_stop(&umidi->list); in substream_open()
1108 if (!umidi->opened[0] && !umidi->opened[1]) { in substream_open()
1109 if (umidi->roland_load_ctl) { in substream_open()
1110 ctl = umidi->roland_load_ctl; in substream_open()
1113 snd_ctl_notify(umidi->card, in substream_open()
1118 mutex_unlock(&umidi->mutex); in substream_open()
1119 up_read(&umidi->disc_rwsem); in substream_open()
1125 struct snd_usb_midi *umidi = substream->rmidi->private_data; in snd_usbmidi_output_open() local
1130 if (umidi->endpoints[i].out) in snd_usbmidi_output_open()
1132 if (umidi->endpoints[i].out->ports[j].substream == substream) { in snd_usbmidi_output_open()
1133 port = &umidi->endpoints[i].out->ports[j]; in snd_usbmidi_output_open()
1162 if (port->ep->umidi->disconnected) { in snd_usbmidi_output_trigger()
1180 if (ep->umidi->disconnected) in snd_usbmidi_output_drain()
1217 struct snd_usb_midi *umidi = substream->rmidi->private_data; in snd_usbmidi_input_trigger() local
1220 set_bit(substream->number, &umidi->input_triggered); in snd_usbmidi_input_trigger()
1222 clear_bit(substream->number, &umidi->input_triggered); in snd_usbmidi_input_trigger()
1238 static void free_urb_and_buffer(struct snd_usb_midi *umidi, struct urb *urb, in free_urb_and_buffer() argument
1241 usb_free_coherent(umidi->dev, buffer_length, in free_urb_and_buffer()
1256 free_urb_and_buffer(ep->umidi, ep->urbs[i], in snd_usbmidi_in_endpoint_delete()
1264 static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi *umidi, in snd_usbmidi_in_endpoint_create() argument
1279 ep->umidi = umidi; in snd_usbmidi_in_endpoint_create()
1289 pipe = usb_rcvintpipe(umidi->dev, ep_info->in_ep); in snd_usbmidi_in_endpoint_create()
1291 pipe = usb_rcvbulkpipe(umidi->dev, ep_info->in_ep); in snd_usbmidi_in_endpoint_create()
1292 length = usb_maxpacket(umidi->dev, pipe); in snd_usbmidi_in_endpoint_create()
1294 buffer = usb_alloc_coherent(umidi->dev, length, GFP_KERNEL, in snd_usbmidi_in_endpoint_create()
1301 usb_fill_int_urb(ep->urbs[i], umidi->dev, in snd_usbmidi_in_endpoint_create()
1306 usb_fill_bulk_urb(ep->urbs[i], umidi->dev, in snd_usbmidi_in_endpoint_create()
1312 dev_err(&umidi->dev->dev, "invalid MIDI in EP %x\n", in snd_usbmidi_in_endpoint_create()
1336 free_urb_and_buffer(ep->umidi, ep->urbs[i].urb, in snd_usbmidi_out_endpoint_clear()
1351 static int snd_usbmidi_out_endpoint_create(struct snd_usb_midi *umidi, in snd_usbmidi_out_endpoint_create() argument
1365 ep->umidi = umidi; in snd_usbmidi_out_endpoint_create()
1376 pipe = usb_sndintpipe(umidi->dev, ep_info->out_ep); in snd_usbmidi_out_endpoint_create()
1378 pipe = usb_sndbulkpipe(umidi->dev, ep_info->out_ep); in snd_usbmidi_out_endpoint_create()
1379 switch (umidi->usb_id) { in snd_usbmidi_out_endpoint_create()
1381 ep->max_transfer = usb_maxpacket(umidi->dev, pipe); in snd_usbmidi_out_endpoint_create()
1405 buffer = usb_alloc_coherent(umidi->dev, in snd_usbmidi_out_endpoint_create()
1413 usb_fill_int_urb(ep->urbs[i].urb, umidi->dev, in snd_usbmidi_out_endpoint_create()
1418 usb_fill_bulk_urb(ep->urbs[i].urb, umidi->dev, in snd_usbmidi_out_endpoint_create()
1424 dev_err(&umidi->dev->dev, "invalid MIDI out EP %x\n", in snd_usbmidi_out_endpoint_create()
1441 if (umidi->usb_protocol_ops->init_out_endpoint) in snd_usbmidi_out_endpoint_create()
1442 umidi->usb_protocol_ops->init_out_endpoint(ep); in snd_usbmidi_out_endpoint_create()
1455 static void snd_usbmidi_free(struct snd_usb_midi *umidi) in snd_usbmidi_free() argument
1460 struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i]; in snd_usbmidi_free()
1466 mutex_destroy(&umidi->mutex); in snd_usbmidi_free()
1467 kfree(umidi); in snd_usbmidi_free()
1475 struct snd_usb_midi *umidi; in snd_usbmidi_disconnect() local
1478 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_disconnect()
1484 down_write(&umidi->disc_rwsem); in snd_usbmidi_disconnect()
1485 spin_lock_irq(&umidi->disc_lock); in snd_usbmidi_disconnect()
1486 umidi->disconnected = 1; in snd_usbmidi_disconnect()
1487 spin_unlock_irq(&umidi->disc_lock); in snd_usbmidi_disconnect()
1488 up_write(&umidi->disc_rwsem); in snd_usbmidi_disconnect()
1490 del_timer_sync(&umidi->error_timer); in snd_usbmidi_disconnect()
1493 struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i]; in snd_usbmidi_disconnect()
1499 if (umidi->usb_protocol_ops->finish_out_endpoint) in snd_usbmidi_disconnect()
1500 umidi->usb_protocol_ops->finish_out_endpoint(ep->out); in snd_usbmidi_disconnect()
1523 struct snd_usb_midi *umidi = rmidi->private_data; in snd_usbmidi_rawmidi_free() local
1524 snd_usbmidi_free(umidi); in snd_usbmidi_rawmidi_free()
1527 static struct snd_rawmidi_substream *snd_usbmidi_find_substream(struct snd_usb_midi *umidi, in snd_usbmidi_find_substream() argument
1533 list_for_each_entry(substream, &umidi->rmidi->streams[stream].substreams, in snd_usbmidi_find_substream()
1721 static struct port_info *find_port_info(struct snd_usb_midi *umidi, int number) in find_port_info() argument
1726 if (snd_usbmidi_port_info[i].id == umidi->usb_id && in find_port_info()
1736 struct snd_usb_midi *umidi = rmidi->private_data; in snd_usbmidi_get_port_info() local
1740 port_info = find_port_info(umidi, number); in snd_usbmidi_get_port_info()
1793 static void snd_usbmidi_init_substream(struct snd_usb_midi *umidi, in snd_usbmidi_init_substream() argument
1811 snd_usbmidi_find_substream(umidi, stream, number); in snd_usbmidi_init_substream()
1813 dev_err(&umidi->dev->dev, "substream %d:%d not found\n", stream, in snd_usbmidi_init_substream()
1818 intf = umidi->iface; in snd_usbmidi_init_substream()
1837 res = usb_string(umidi->dev, iJack, jack_name_buf, in snd_usbmidi_init_substream()
1844 port_info = find_port_info(umidi, number); in snd_usbmidi_init_substream()
1848 name_format, umidi->card->shortname, jack_name, number + 1); in snd_usbmidi_init_substream()
1856 static int snd_usbmidi_create_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_create_endpoints() argument
1864 err = snd_usbmidi_out_endpoint_create(umidi, in snd_usbmidi_create_endpoints()
1866 &umidi->endpoints[i]); in snd_usbmidi_create_endpoints()
1871 err = snd_usbmidi_in_endpoint_create(umidi, in snd_usbmidi_create_endpoints()
1873 &umidi->endpoints[i]); in snd_usbmidi_create_endpoints()
1880 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints()
1884 &umidi->endpoints[i].out->ports[j].substream); in snd_usbmidi_create_endpoints()
1888 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints()
1892 &umidi->endpoints[i].in->ports[j].substream); in snd_usbmidi_create_endpoints()
1897 dev_dbg(&umidi->dev->dev, "created %d output and %d input ports\n", in snd_usbmidi_create_endpoints()
1927 static int snd_usbmidi_get_ms_info(struct snd_usb_midi *umidi, in snd_usbmidi_get_ms_info() argument
1939 intf = umidi->iface; in snd_usbmidi_get_ms_info()
1949 dev_dbg(&umidi->dev->dev, "MIDIStreaming version %02x.%02x\n", in snd_usbmidi_get_ms_info()
1952 dev_warn(&umidi->dev->dev, in snd_usbmidi_get_ms_info()
1973 dev_warn(&umidi->dev->dev, in snd_usbmidi_get_ms_info()
1981 else if (snd_usb_get_speed(umidi->dev) == USB_SPEED_LOW) in snd_usbmidi_get_ms_info()
1994 dev_dbg(&umidi->dev->dev, "EP %02X: %d jack(s)\n", in snd_usbmidi_get_ms_info()
1999 dev_warn(&umidi->dev->dev, in snd_usbmidi_get_ms_info()
2007 else if (snd_usb_get_speed(umidi->dev) == USB_SPEED_LOW) in snd_usbmidi_get_ms_info()
2015 dev_dbg(&umidi->dev->dev, "EP %02X: %d jack(s)\n", in snd_usbmidi_get_ms_info()
2040 struct snd_usb_midi *umidi = kcontrol->private_data; in roland_load_put() local
2045 mutex_lock(&umidi->mutex); in roland_load_put()
2049 mutex_unlock(&umidi->mutex); in roland_load_put()
2066 static void snd_usbmidi_switch_roland_altsetting(struct snd_usb_midi *umidi) in snd_usbmidi_switch_roland_altsetting() argument
2072 intf = umidi->iface; in snd_usbmidi_switch_roland_altsetting()
2088 dev_dbg(&umidi->dev->dev, "switching to altsetting %d with int ep\n", in snd_usbmidi_switch_roland_altsetting()
2090 usb_set_interface(umidi->dev, intfd->bInterfaceNumber, in snd_usbmidi_switch_roland_altsetting()
2093 umidi->roland_load_ctl = snd_ctl_new1(&roland_load_ctl, umidi); in snd_usbmidi_switch_roland_altsetting()
2094 if (snd_ctl_add(umidi->card, umidi->roland_load_ctl) < 0) in snd_usbmidi_switch_roland_altsetting()
2095 umidi->roland_load_ctl = NULL; in snd_usbmidi_switch_roland_altsetting()
2101 static int snd_usbmidi_detect_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_detect_endpoints() argument
2111 if (USB_ID_VENDOR(umidi->usb_id) == 0x0582) in snd_usbmidi_detect_endpoints()
2112 snd_usbmidi_switch_roland_altsetting(umidi); in snd_usbmidi_detect_endpoints()
2117 intf = umidi->iface; in snd_usbmidi_detect_endpoints()
2149 static int snd_usbmidi_detect_per_port_endpoints(struct snd_usb_midi *umidi, in snd_usbmidi_detect_per_port_endpoints() argument
2154 err = snd_usbmidi_detect_endpoints(umidi, endpoints, MIDI_MAX_ENDPOINTS); in snd_usbmidi_detect_per_port_endpoints()
2167 static int snd_usbmidi_detect_yamaha(struct snd_usb_midi *umidi, in snd_usbmidi_detect_yamaha() argument
2175 intf = umidi->iface; in snd_usbmidi_detect_yamaha()
2202 return snd_usbmidi_detect_endpoints(umidi, endpoint, 1); in snd_usbmidi_detect_yamaha()
2208 static int snd_usbmidi_detect_roland(struct snd_usb_midi *umidi, in snd_usbmidi_detect_roland() argument
2215 intf = umidi->iface; in snd_usbmidi_detect_roland()
2234 return snd_usbmidi_detect_endpoints(umidi, endpoint, 1); in snd_usbmidi_detect_roland()
2238 return snd_usbmidi_get_ms_info(umidi, endpoint); in snd_usbmidi_detect_roland()
2248 static int snd_usbmidi_create_endpoints_midiman(struct snd_usb_midi *umidi, in snd_usbmidi_create_endpoints_midiman() argument
2258 intf = umidi->iface; in snd_usbmidi_create_endpoints_midiman()
2274 dev_dbg(&umidi->dev->dev, "not enough endpoints\n"); in snd_usbmidi_create_endpoints_midiman()
2280 dev_dbg(&umidi->dev->dev, "endpoint[0] isn't interrupt\n"); in snd_usbmidi_create_endpoints_midiman()
2285 dev_dbg(&umidi->dev->dev, "endpoint[2] isn't bulk output\n"); in snd_usbmidi_create_endpoints_midiman()
2292 dev_dbg(&umidi->dev->dev, in snd_usbmidi_create_endpoints_midiman()
2302 err = snd_usbmidi_out_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2303 &umidi->endpoints[0]); in snd_usbmidi_create_endpoints_midiman()
2311 err = snd_usbmidi_in_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2312 &umidi->endpoints[0]); in snd_usbmidi_create_endpoints_midiman()
2320 err = snd_usbmidi_out_endpoint_create(umidi, &ep_info, in snd_usbmidi_create_endpoints_midiman()
2321 &umidi->endpoints[1]); in snd_usbmidi_create_endpoints_midiman()
2328 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints_midiman()
2332 &umidi->endpoints[cable & 1].out->ports[cable].substream); in snd_usbmidi_create_endpoints_midiman()
2334 snd_usbmidi_init_substream(umidi, in snd_usbmidi_create_endpoints_midiman()
2338 &umidi->endpoints[0].in->ports[cable].substream); in snd_usbmidi_create_endpoints_midiman()
2347 static int snd_usbmidi_create_rawmidi(struct snd_usb_midi *umidi, in snd_usbmidi_create_rawmidi() argument
2353 err = snd_rawmidi_new(umidi->card, "USB MIDI", in snd_usbmidi_create_rawmidi()
2354 umidi->next_midi_device++, in snd_usbmidi_create_rawmidi()
2358 strcpy(rmidi->name, umidi->card->shortname); in snd_usbmidi_create_rawmidi()
2363 rmidi->private_data = umidi; in snd_usbmidi_create_rawmidi()
2370 umidi->rmidi = rmidi; in snd_usbmidi_create_rawmidi()
2379 struct snd_usb_midi *umidi; in snd_usbmidi_input_stop() local
2382 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_input_stop()
2383 if (!umidi->input_running) in snd_usbmidi_input_stop()
2386 struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i]; in snd_usbmidi_input_stop()
2391 umidi->input_running = 0; in snd_usbmidi_input_stop()
2395 static void snd_usbmidi_input_start_ep(struct snd_usb_midi *umidi, in snd_usbmidi_input_start_ep() argument
2405 spin_lock_irqsave(&umidi->disc_lock, flags); in snd_usbmidi_input_start_ep()
2407 urb->dev = ep->umidi->dev; in snd_usbmidi_input_start_ep()
2410 spin_unlock_irqrestore(&umidi->disc_lock, flags); in snd_usbmidi_input_start_ep()
2419 struct snd_usb_midi *umidi; in snd_usbmidi_input_start() local
2422 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_input_start()
2423 if (umidi->input_running || !umidi->opened[1]) in snd_usbmidi_input_start()
2426 snd_usbmidi_input_start_ep(umidi, umidi->endpoints[i].in); in snd_usbmidi_input_start()
2427 umidi->input_running = 1; in snd_usbmidi_input_start()
2436 struct snd_usb_midi *umidi; in snd_usbmidi_suspend() local
2438 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_suspend()
2439 mutex_lock(&umidi->mutex); in snd_usbmidi_suspend()
2441 mutex_unlock(&umidi->mutex); in snd_usbmidi_suspend()
2450 struct snd_usb_midi *umidi; in snd_usbmidi_resume() local
2452 umidi = list_entry(p, struct snd_usb_midi, list); in snd_usbmidi_resume()
2453 mutex_lock(&umidi->mutex); in snd_usbmidi_resume()
2455 mutex_unlock(&umidi->mutex); in snd_usbmidi_resume()
2468 struct snd_usb_midi *umidi; in __snd_usbmidi_create() local
2473 umidi = kzalloc(sizeof(*umidi), GFP_KERNEL); in __snd_usbmidi_create()
2474 if (!umidi) in __snd_usbmidi_create()
2476 umidi->dev = interface_to_usbdev(iface); in __snd_usbmidi_create()
2477 umidi->card = card; in __snd_usbmidi_create()
2478 umidi->iface = iface; in __snd_usbmidi_create()
2479 umidi->quirk = quirk; in __snd_usbmidi_create()
2480 umidi->usb_protocol_ops = &snd_usbmidi_standard_ops; in __snd_usbmidi_create()
2481 spin_lock_init(&umidi->disc_lock); in __snd_usbmidi_create()
2482 init_rwsem(&umidi->disc_rwsem); in __snd_usbmidi_create()
2483 mutex_init(&umidi->mutex); in __snd_usbmidi_create()
2485 usb_id = USB_ID(le16_to_cpu(umidi->dev->descriptor.idVendor), in __snd_usbmidi_create()
2486 le16_to_cpu(umidi->dev->descriptor.idProduct)); in __snd_usbmidi_create()
2487 umidi->usb_id = usb_id; in __snd_usbmidi_create()
2488 timer_setup(&umidi->error_timer, snd_usbmidi_error_timer, 0); in __snd_usbmidi_create()
2494 err = snd_usbmidi_get_ms_info(umidi, endpoints); in __snd_usbmidi_create()
2495 if (umidi->usb_id == USB_ID(0x0763, 0x0150)) /* M-Audio Uno */ in __snd_usbmidi_create()
2496 umidi->usb_protocol_ops = in __snd_usbmidi_create()
2500 umidi->usb_protocol_ops = &snd_usbmidi_122l_ops; in __snd_usbmidi_create()
2505 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1); in __snd_usbmidi_create()
2508 err = snd_usbmidi_detect_yamaha(umidi, &endpoints[0]); in __snd_usbmidi_create()
2511 err = snd_usbmidi_detect_roland(umidi, &endpoints[0]); in __snd_usbmidi_create()
2514 umidi->usb_protocol_ops = &snd_usbmidi_midiman_ops; in __snd_usbmidi_create()
2520 umidi->usb_protocol_ops = &snd_usbmidi_novation_ops; in __snd_usbmidi_create()
2521 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in __snd_usbmidi_create()
2524 umidi->usb_protocol_ops = &snd_usbmidi_raw_ops; in __snd_usbmidi_create()
2534 if (umidi->usb_id == USB_ID(0x07fd, 0x0001)) /* MOTU Fastlane */ in __snd_usbmidi_create()
2535 usb_set_interface(umidi->dev, 0, 0); in __snd_usbmidi_create()
2536 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in __snd_usbmidi_create()
2539 umidi->usb_protocol_ops = &snd_usbmidi_emagic_ops; in __snd_usbmidi_create()
2542 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1); in __snd_usbmidi_create()
2545 umidi->usb_protocol_ops = &snd_usbmidi_cme_ops; in __snd_usbmidi_create()
2546 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in __snd_usbmidi_create()
2549 umidi->usb_protocol_ops = &snd_usbmidi_akai_ops; in __snd_usbmidi_create()
2550 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in __snd_usbmidi_create()
2555 umidi->usb_protocol_ops = &snd_usbmidi_ftdi_ops; in __snd_usbmidi_create()
2558 err = usb_control_msg(umidi->dev, usb_sndctrlpipe(umidi->dev, 0), in __snd_usbmidi_create()
2563 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in __snd_usbmidi_create()
2566 umidi->usb_protocol_ops = &snd_usbmidi_ch345_broken_sysex_ops; in __snd_usbmidi_create()
2567 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); in __snd_usbmidi_create()
2570 dev_err(&umidi->dev->dev, "invalid quirk type %d\n", in __snd_usbmidi_create()
2585 err = snd_usbmidi_create_rawmidi(umidi, out_ports, in_ports); in __snd_usbmidi_create()
2591 err = snd_usbmidi_create_endpoints_midiman(umidi, &endpoints[0]); in __snd_usbmidi_create()
2593 err = snd_usbmidi_create_endpoints(umidi, endpoints); in __snd_usbmidi_create()
2597 usb_autopm_get_interface_no_resume(umidi->iface); in __snd_usbmidi_create()
2599 list_add_tail(&umidi->list, midi_list); in __snd_usbmidi_create()
2603 kfree(umidi); in __snd_usbmidi_create()