| --- ../alsa-kernel/usb/mixer.c 2010-05-11 22:44:30.924953053 +0200 |
| +++ mixer.c 2010-05-11 22:48:39.545200268 +0200 |
| @@ -1,3 +1,5 @@ |
| +#include "mixer.inc" |
| + |
| /* |
| * (Tentative) USB Audio Driver for ALSA |
| * |
| @@ -128,6 +130,14 @@ |
| USB_XU_SOFT_LIMIT_SELECTOR = 0x03 /* soft limiter */ |
| }; |
| |
| +#ifndef USB_DT_CS_DEVICE |
| +#define USB_DT_CS_DEVICE 0x21 |
| +#define USB_DT_CS_CONFIG 0x22 |
| +#define USB_DT_CS_STRING 0x23 |
| +#define USB_DT_CS_INTERFACE 0x24 |
| +#define USB_DT_CS_ENDPOINT 0x25 |
| +#endif |
| + |
| /* |
| * manual mapping of mixer names |
| * if the mixer topology is too complicated and the parsed names are |
| @@ -2013,7 +2023,11 @@ |
| } |
| } |
| |
| +#if !defined(OLD_USB) && !defined(CONFIG_SND_NEW_IRQ_HANDLER) |
| +static void snd_usb_mixer_interrupt(struct urb *urb, struct pt_regs *regs) |
| +#else |
| static void snd_usb_mixer_interrupt(struct urb *urb) |
| +#endif |
| { |
| struct usb_mixer_interface *mixer = urb->context; |
| int len = urb->actual_length; |
| @@ -2083,7 +2097,11 @@ |
| return 0; |
| |
| epnum = usb_endpoint_num(ep); |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) |
| buffer_length = le16_to_cpu(ep->wMaxPacketSize); |
| +#else |
| + buffer_length = ep->wMaxPacketSize; |
| +#endif |
| transfer_buffer = kmalloc(buffer_length, GFP_KERNEL); |
| if (!transfer_buffer) |
| return -ENOMEM; |