aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/midi.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb/midi.c')
-rw-r--r--sound/usb/midi.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sound/usb/midi.c b/sound/usb/midi.c
index 007cf5831121..47de8af42f16 100644
--- a/sound/usb/midi.c
+++ b/sound/usb/midi.c
@@ -2320,10 +2320,11 @@ EXPORT_SYMBOL(snd_usbmidi_resume);
2320/* 2320/*
2321 * Creates and registers everything needed for a MIDI streaming interface. 2321 * Creates and registers everything needed for a MIDI streaming interface.
2322 */ 2322 */
2323int snd_usbmidi_create(struct snd_card *card, 2323int __snd_usbmidi_create(struct snd_card *card,
2324 struct usb_interface *iface, 2324 struct usb_interface *iface,
2325 struct list_head *midi_list, 2325 struct list_head *midi_list,
2326 const struct snd_usb_audio_quirk *quirk) 2326 const struct snd_usb_audio_quirk *quirk,
2327 unsigned int usb_id)
2327{ 2328{
2328 struct snd_usb_midi *umidi; 2329 struct snd_usb_midi *umidi;
2329 struct snd_usb_midi_endpoint_info endpoints[MIDI_MAX_ENDPOINTS]; 2330 struct snd_usb_midi_endpoint_info endpoints[MIDI_MAX_ENDPOINTS];
@@ -2341,8 +2342,10 @@ int snd_usbmidi_create(struct snd_card *card,
2341 spin_lock_init(&umidi->disc_lock); 2342 spin_lock_init(&umidi->disc_lock);
2342 init_rwsem(&umidi->disc_rwsem); 2343 init_rwsem(&umidi->disc_rwsem);
2343 mutex_init(&umidi->mutex); 2344 mutex_init(&umidi->mutex);
2344 umidi->usb_id = USB_ID(le16_to_cpu(umidi->dev->descriptor.idVendor), 2345 if (!usb_id)
2346 usb_id = USB_ID(le16_to_cpu(umidi->dev->descriptor.idVendor),
2345 le16_to_cpu(umidi->dev->descriptor.idProduct)); 2347 le16_to_cpu(umidi->dev->descriptor.idProduct));
2348 umidi->usb_id = usb_id;
2346 setup_timer(&umidi->error_timer, snd_usbmidi_error_timer, 2349 setup_timer(&umidi->error_timer, snd_usbmidi_error_timer,
2347 (unsigned long)umidi); 2350 (unsigned long)umidi);
2348 2351
@@ -2463,4 +2466,4 @@ int snd_usbmidi_create(struct snd_card *card,
2463 list_add_tail(&umidi->list, midi_list); 2466 list_add_tail(&umidi->list, midi_list);
2464 return 0; 2467 return 0;
2465} 2468}
2466EXPORT_SYMBOL(snd_usbmidi_create); 2469EXPORT_SYMBOL(__snd_usbmidi_create);