aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2011-01-24 17:28:57 +0100
committerJaroslav Kysela <perex@perex.cz>2011-01-24 17:28:57 +0100
commit9f3d197fbaa529905033cb8496debd078c0cc25c (patch)
tree776f015b02371adaa6bda2549d0c3bb7c06d5ff2
parent9ef9202f971268a9b19835fc0db5aeba2311ca04 (diff)
downloadalsa-driver-build-unstable-9f3d197fbaa529905033cb8496debd078c0cc25c.tar.gz
linux 2.4 compilation fixes
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--include/adriver.h6
-rw-r--r--kconfig-vers1
-rw-r--r--usb/card.patch32
3 files changed, 30 insertions, 9 deletions
diff --git a/include/adriver.h b/include/adriver.h
index c16becea3..71e1ae53b 100644
--- a/include/adriver.h
+++ b/include/adriver.h
@@ -624,7 +624,9 @@ static inline void snd_INIT_WORK(struct work_struct *w, void (*f)(struct work_st
}
#undef INIT_WORK
#define INIT_WORK(w,f) snd_INIT_WORK(w,f)
+#ifndef SND_WORKQUEUE_COMPAT
#define delayed_work snd_delayed_work
+#endif
/* delayed_work wrapper */
struct delayed_work {
struct work_struct work;
@@ -692,6 +694,10 @@ static inline void *snd_compat_vmap(struct page **pages, unsigned int count, uns
#define MODULE_ALIAS_CHARDEV_MAJOR(x)
#endif
+#ifndef MODULE_ALIAS_CHARDEV
+#define MODULE_ALIAS_CHARDEV(x, y)
+#endif
+
#ifndef MODULE_FIRMWARE
#define MODULE_FIRMWARE(x)
#endif
diff --git a/kconfig-vers b/kconfig-vers
index c3c4a9055..4408b1ffe 100644
--- a/kconfig-vers
+++ b/kconfig-vers
@@ -24,3 +24,4 @@ SND_USB_UA101 2.6.32
SND_LX6464ES 2.6
SND_ES1968_INPUT 2.6.23
SND_MAESTRO3_INPUT 2.6.23
+SND_VIRTUOSO 2.6
diff --git a/usb/card.patch b/usb/card.patch
index f611a4697..65f6747ee 100644
--- a/usb/card.patch
+++ b/usb/card.patch
@@ -1,5 +1,5 @@
---- ../alsa-kernel/usb/card.c 2010-05-31 18:18:40.281789895 +0200
-+++ card.c 2010-05-31 18:25:11.879373517 +0200
+--- ../alsa-kernel/usb/card.c 2011-01-24 13:13:16.000000000 +0100
++++ card.c 2011-01-24 17:25:21.000000000 +0100
@@ -1,3 +1,4 @@
+#include "card.inc"
/*
@@ -19,7 +19,7 @@
static int device_setup[SNDRV_CARDS]; /* device parameter for this card */
static int ignore_ctl_error;
-@@ -237,7 +243,11 @@
+@@ -242,19 +248,25 @@
case UAC_VERSION_2: {
struct usb_interface_assoc_descriptor *assoc =
@@ -31,7 +31,21 @@
if (!assoc) {
snd_printk(KERN_ERR "Audio class v2 interfaces need an interface association\n");
-@@ -325,8 +335,13 @@
+ return -EINVAL;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23)
+ for (i = 0; i < assoc->bInterfaceCount; i++) {
+ int intf = assoc->bFirstInterface + i;
+
+ if (intf != ctrlif)
+ snd_usb_create_stream(chip, ctrlif, intf);
+ }
++#endif
+
+ break;
+ }
+@@ -330,8 +342,13 @@
chip->nrpacks = nrpacks;
chip->async_unlink = async_unlink;
@@ -45,7 +59,7 @@
INIT_LIST_HEAD(&chip->pcm_list);
INIT_LIST_HEAD(&chip->midi_list);
INIT_LIST_HEAD(&chip->mixer_list);
-@@ -412,8 +427,12 @@
+@@ -428,8 +445,12 @@
alts = &intf->altsetting[0];
ifnum = get_iface_desc(alts)->bInterfaceNumber;
@@ -58,7 +72,7 @@
if (quirk && quirk->ifnum >= 0 && ifnum != quirk->ifnum)
goto __err_val;
-@@ -533,6 +552,7 @@
+@@ -555,6 +576,7 @@
}
}
@@ -66,7 +80,7 @@
/*
* new 2.5 USB kernel API
*/
-@@ -596,6 +616,7 @@
+@@ -618,6 +640,7 @@
#define usb_audio_suspend NULL
#define usb_audio_resume NULL
#endif /* CONFIG_PM */
@@ -74,7 +88,7 @@
static struct usb_device_id usb_audio_ids [] = {
#include "quirks-table.h"
-@@ -612,11 +633,19 @@
+@@ -634,11 +657,19 @@
*/
static struct usb_driver usb_audio_driver = {
@@ -94,7 +108,7 @@
.id_table = usb_audio_ids,
};
-@@ -636,3 +665,5 @@
+@@ -658,3 +689,5 @@
module_init(snd_usb_audio_init);
module_exit(snd_usb_audio_cleanup);