All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Edirol UA-20 PCM support
@ 2003-02-24 10:24 Clemens Ladisch
  2003-02-24 12:23 ` Frank Barknecht
  0 siblings, 1 reply; 20+ messages in thread
From: Clemens Ladisch @ 2003-02-24 10:24 UTC (permalink / raw)
  To: alsa-devel; +Cc: Frank Barknecht


This adds support for the UA-20's PCM interfaces in "Advanced Driver"
mode. The device has all standard descriptors, so the normal descriptor
parsing code can be used, but the interface class is set to "vendor
specific".

The entry in usbquirks.h is there so that the driver is loaded for the
device, but .driver_info isn't set so that the standard code is used.

usbaudio.c has been modified to accept both CLASS_AUDIO and
CLASS_VENDOR_SPEC as valid interface classes.



Index: alsa-kernel/usb/usbaudio.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbaudio.c,v
retrieving revision 1.44
diff -u -r1.44 usbaudio.c
--- alsa-kernel/usb/usbaudio.c	17 Feb 2003 10:37:40 -0000	1.44
+++ alsa-kernel/usb/usbaudio.c	24 Feb 2003 10:11:40 -0000
@@ -1971,7 +1971,8 @@
 		alts = &iface->altsetting[i];
 		altsd = get_iface_desc(alts);
 		/* skip invalid one */
-		if (altsd->bInterfaceClass != USB_CLASS_AUDIO ||
+		if ((altsd->bInterfaceClass != USB_CLASS_AUDIO &&
+		     altsd->bInterfaceClass != USB_CLASS_VENDOR_SPEC) ||
 		    altsd->bInterfaceSubClass != USB_SUBCLASS_AUDIO_STREAMING ||
 		    altsd->bNumEndpoints < 1)
 			continue;
@@ -2158,7 +2159,8 @@
 		}
 		alts = &iface->altsetting[0];
 		altsd = get_iface_desc(alts);
-		if (altsd->bInterfaceClass == USB_CLASS_AUDIO &&
+		if ((altsd->bInterfaceClass == USB_CLASS_AUDIO ||
+		     altsd->bInterfaceClass == USB_CLASS_VENDOR_SPEC) &&
 		    altsd->bInterfaceSubClass == USB_SUBCLASS_MIDI_STREAMING) {
 			if (snd_usb_create_midi_interface(chip, iface, NULL) < 0) {
 				snd_printk(KERN_ERR "%d:%u:%d: cannot create sequencer device\n", dev->devnum, ctrlif, j);
@@ -2167,7 +2169,8 @@
 			usb_driver_claim_interface(&usb_audio_driver, iface, (void *)-1L);
 			continue;
 		}
-		if (altsd->bInterfaceClass != USB_CLASS_AUDIO ||
+		if ((altsd->bInterfaceClass != USB_CLASS_AUDIO &&
+		     altsd->bInterfaceClass != USB_CLASS_VENDOR_SPEC) ||
 		    altsd->bInterfaceSubClass != USB_SUBCLASS_AUDIO_STREAMING) {
 			snd_printdd(KERN_ERR "%d:%u:%d: skipping non-supported interface %d\n", dev->devnum, ctrlif, j, altsd->bInterfaceClass);
 			/* skip non-supported classes */
Index: alsa-kernel/usb/usbquirks.h
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbquirks.h,v
retrieving revision 1.16
diff -u -r1.16 usbquirks.h
--- alsa-kernel/usb/usbquirks.h	13 Feb 2003 17:18:10 -0000	1.16
+++ alsa-kernel/usb/usbquirks.h	24 Feb 2003 10:11:40 -0000
@@ -226,16 +226,10 @@
 },

 /*
- * Once upon a time people thought, "Wouldn't it be nice if there was a
- * standard for USB MIDI devices, so that device drivers would not be forced
- * to know about the quirks of specific devices?"  So Roland went ahead and
- * wrote the USB Device Class Definition for MIDI Devices, and the USB-IF
- * endorsed it, and now everybody designing USB MIDI devices does so in
- * agreement with this standard (or at least tries to).
+ * Roland/RolandED/Edirol devices
  *
- * And if you prefer a happy end, you can imagine that Roland devices set a
- * good example. Instead of being completely fucked up due to the lack of
- * class-specific descriptors.
+ * The USB MIDI Specification has been written by Roland,
+ * but a 100% conforming Roland device has yet to be found.
  */
 {
 	USB_DEVICE(0x0582, 0x0000),
@@ -507,17 +501,11 @@
 	}
 },
 {
-	USB_DEVICE_VENDOR_SPEC(0x0582, 0x0025),
-	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
-		.vendor_name = "EDIROL",
-		.product_name = "UA-20",
-		.ifnum = 3,
-		.type = QUIRK_MIDI_FIXED_ENDPOINT,
-		.data = & (const snd_usb_midi_endpoint_info_t) {
-			.out_cables = 0x0001,
-			.in_cables  = 0x0001
-		}
-	}
+	/*
+	 * Edirol UA-20 in "Advanced Driver" mode.
+	 * Standard descriptors, but vendor-specific interfaces.
+	 */
+	USB_DEVICE(0x0582, 0x0025)
 },
 {
 	USB_DEVICE(0x0582, 0x0027),




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 20+ messages in thread
* how to compile?
@ 2005-10-13  9:57 Stephan Böni
  2005-10-13 10:01 ` Keir Fraser
  0 siblings, 1 reply; 20+ messages in thread
From: Stephan Böni @ 2005-10-13  9:57 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 652 bytes --]

Do i something wrong?
 
The only thing i do, is:
 
# make world
# ./install.sh
# cd linux-2.6.12-xen0
# make ARCH=xen menuconfig
           --> adding qla2300
# cd ..
# make dist
# make install
# depmod
 
The /boot/grub/menu.lst looks as follows:
 
# works fine, but without xen:
title SUSE Linux 10.0
    root (hd0,5)
    kernel /boot/vmlinuz root=/dev/sda6 acpi=off resume=/dev/sda5
    initrd /boot/initrd
 
# does not work:
title Xen Master
    root (hd0,5)
    kernel /boot/xen.gz dom0_mem=131072
    module /boot/vmlinuz-2.6-xen0 root=/dev/sda6 acpi=off
    module /boot/initrd-xen
 
Thanks for any help
Stephan
 

[-- Attachment #1.2: Type: text/html, Size: 3216 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2005-10-13 10:01 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-24 10:24 [PATCH] Edirol UA-20 PCM support Clemens Ladisch
2003-02-24 12:23 ` Frank Barknecht
2003-02-24 12:58   ` Frank Barknecht
2003-02-24 13:12   ` Clemens Ladisch
2003-02-24 14:39     ` Frank Barknecht
2003-02-24 17:17       ` Clemens Ladisch
2003-02-25 10:24         ` Takashi Iwai
2003-02-25 11:53           ` Clemens Ladisch
2003-02-28 11:33           ` Clemens Ladisch
2003-02-28 14:55             ` Takashi Iwai
2003-03-01 14:31               ` C++ driver ? Giuliano Pochini
2003-03-01 22:36                 ` David Olofson
2003-03-02 16:25                   ` Giuliano Pochini
2003-03-02 18:07                   ` How to compile ? Giuliano Pochini
2003-03-02 19:24                     ` Jaroslav Kysela
2003-03-03  8:21                       ` Giuliano Pochini
2003-03-03  9:32                         ` Martin Langer
2003-02-28 22:23             ` [PATCH] Edirol UA-20 PCM support Frank Barknecht
  -- strict thread matches above, loose matches on Subject: below --
2005-10-13  9:57 how to compile? Stephan Böni
2005-10-13 10:01 ` Keir Fraser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.