aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/quirks.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r--sound/usb/quirks.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 81e07d84258..2e5bc734402 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -34,6 +34,7 @@
34#include "endpoint.h" 34#include "endpoint.h"
35#include "pcm.h" 35#include "pcm.h"
36#include "clock.h" 36#include "clock.h"
37#include "stream.h"
37 38
38/* 39/*
39 * handle the quirks for the contained interfaces 40 * handle the quirks for the contained interfaces
@@ -106,7 +107,7 @@ static int create_standard_audio_quirk(struct snd_usb_audio *chip,
106 107
107 alts = &iface->altsetting[0]; 108 alts = &iface->altsetting[0];
108 altsd = get_iface_desc(alts); 109 altsd = get_iface_desc(alts);
109 err = snd_usb_parse_audio_endpoints(chip, altsd->bInterfaceNumber); 110 err = snd_usb_parse_audio_interface(chip, altsd->bInterfaceNumber);
110 if (err < 0) { 111 if (err < 0) {
111 snd_printk(KERN_ERR "cannot setup if %d: error %d\n", 112 snd_printk(KERN_ERR "cannot setup if %d: error %d\n",
112 altsd->bInterfaceNumber, err); 113 altsd->bInterfaceNumber, err);
@@ -147,7 +148,7 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip,
147 148
148 stream = (fp->endpoint & USB_DIR_IN) 149 stream = (fp->endpoint & USB_DIR_IN)
149 ? SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK; 150 ? SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK;
150 err = snd_usb_add_audio_endpoint(chip, stream, fp); 151 err = snd_usb_add_audio_stream(chip, stream, fp);
151 if (err < 0) { 152 if (err < 0) {
152 kfree(fp); 153 kfree(fp);
153 kfree(rate_table); 154 kfree(rate_table);
@@ -254,7 +255,7 @@ static int create_uaxx_quirk(struct snd_usb_audio *chip,
254 255
255 stream = (fp->endpoint & USB_DIR_IN) 256 stream = (fp->endpoint & USB_DIR_IN)
256 ? SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK; 257 ? SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK;
257 err = snd_usb_add_audio_endpoint(chip, stream, fp); 258 err = snd_usb_add_audio_stream(chip, stream, fp);
258 if (err < 0) { 259 if (err < 0) {
259 kfree(fp); 260 kfree(fp);
260 return err; 261 return err;
@@ -306,6 +307,7 @@ int snd_usb_create_quirk(struct snd_usb_audio *chip,
306 [QUIRK_MIDI_EMAGIC] = create_any_midi_quirk, 307 [QUIRK_MIDI_EMAGIC] = create_any_midi_quirk,
307 [QUIRK_MIDI_CME] = create_any_midi_quirk, 308 [QUIRK_MIDI_CME] = create_any_midi_quirk,
308 [QUIRK_MIDI_AKAI] = create_any_midi_quirk, 309 [QUIRK_MIDI_AKAI] = create_any_midi_quirk,
310 [QUIRK_MIDI_FTDI] = create_any_midi_quirk,
309 [QUIRK_AUDIO_STANDARD_INTERFACE] = create_standard_audio_quirk, 311 [QUIRK_AUDIO_STANDARD_INTERFACE] = create_standard_audio_quirk,
310 [QUIRK_AUDIO_FIXED_ENDPOINT] = create_fixed_stream_quirk, 312 [QUIRK_AUDIO_FIXED_ENDPOINT] = create_fixed_stream_quirk,
311 [QUIRK_AUDIO_EDIROL_UAXX] = create_uaxx_quirk, 313 [QUIRK_AUDIO_EDIROL_UAXX] = create_uaxx_quirk,
@@ -338,7 +340,7 @@ static int snd_usb_extigy_boot_quirk(struct usb_device *dev, struct usb_interfac
338 snd_printdd("sending Extigy boot sequence...\n"); 340 snd_printdd("sending Extigy boot sequence...\n");
339 /* Send message to force it to reconnect with full interface. */ 341 /* Send message to force it to reconnect with full interface. */
340 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev,0), 342 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev,0),
341 0x10, 0x43, 0x0001, 0x000a, NULL, 0, 1000); 343 0x10, 0x43, 0x0001, 0x000a, NULL, 0);
342 if (err < 0) snd_printdd("error sending boot message: %d\n", err); 344 if (err < 0) snd_printdd("error sending boot message: %d\n", err);
343 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, 345 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0,
344 &dev->descriptor, sizeof(dev->descriptor)); 346 &dev->descriptor, sizeof(dev->descriptor));
@@ -359,11 +361,11 @@ static int snd_usb_audigy2nx_boot_quirk(struct usb_device *dev)
359 361
360 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), 0x2a, 362 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), 0x2a,
361 USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_OTHER, 363 USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_OTHER,
362 0, 0, &buf, 1, 1000); 364 0, 0, &buf, 1);
363 if (buf == 0) { 365 if (buf == 0) {
364 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0x29, 366 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0x29,
365 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER, 367 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER,
366 1, 2000, NULL, 0, 1000); 368 1, 2000, NULL, 0);
367 return -ENODEV; 369 return -ENODEV;
368 } 370 }
369 return 0; 371 return 0;
@@ -406,7 +408,7 @@ static int snd_usb_cm106_write_int_reg(struct usb_device *dev, int reg, u16 valu
406 buf[3] = reg; 408 buf[3] = reg;
407 return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), USB_REQ_SET_CONFIGURATION, 409 return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), USB_REQ_SET_CONFIGURATION,
408 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_ENDPOINT, 410 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_ENDPOINT,
409 0, 0, &buf, 4, 1000); 411 0, 0, &buf, 4);
410} 412}
411 413
412static int snd_usb_cm106_boot_quirk(struct usb_device *dev) 414static int snd_usb_cm106_boot_quirk(struct usb_device *dev)