summaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authoraugustss <augustss@NetBSD.org>2005-08-14 21:08:45 +0000
committeraugustss <augustss@NetBSD.org>2005-08-14 21:08:45 +0000
commit10401589005a8d2958bfbb7a2eb32f63aec2bb6a (patch)
tree3e4286b1bef4016f4a8e67531df695b808dae0fb /sys/dev/usb
parenta9d739dee848ffa8d8d1266b19a345529fb31a0e (diff)
Add some Roland devices. From kern/30986, DHOYASHIKI Shinichi.
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/umidi_quirks.c81
1 files changed, 78 insertions, 3 deletions
diff --git a/sys/dev/usb/umidi_quirks.c b/sys/dev/usb/umidi_quirks.c
index 53ae62ce364..ba0947f80c9 100644
--- a/sys/dev/usb/umidi_quirks.c
+++ b/sys/dev/usb/umidi_quirks.c
@@ -1,4 +1,4 @@
-/* $NetBSD: umidi_quirks.c,v 1.7 2005/05/30 04:21:39 christos Exp $ */
+/* $NetBSD: umidi_quirks.c,v 1.8 2005/08/14 21:08:45 augustss Exp $ */
/*
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: umidi_quirks.c,v 1.7 2005/05/30 04:21:39 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: umidi_quirks.c,v 1.8 2005/08/14 21:08:45 augustss Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -363,7 +363,77 @@ UMQ_DEF(ROLAND, ROLAND_UA700, 3) = {
UMQ_TERMINATOR
};
+/*
+ * ROLAND UA-1000
+ */
+UMQ_FIXED_EP_DEF(ROLAND, ROLAND_UA1000, 3, 1, 1) = {
+ /* out */
+ { 0, 2 },
+ /* in */
+ { 1, 2 }
+};
+
+UMQ_DEF(ROLAND, ROLAND_UA1000, 3) = {
+ UMQ_FIXED_EP_REG(ROLAND, ROLAND_UA1000, 3),
+ UMQ_TERMINATOR
+};
+
+/*
+ * ROLAND UA-101
+ */
+UMQ_FIXED_EP_DEF(ROLAND, ROLAND_UA101, 2, 1, 1) = {
+ /* out */
+ { 0, 2 },
+ /* in */
+ { 1, 2 }
+};
+UMQ_DEF(ROLAND, ROLAND_UA101, 2) = {
+ UMQ_FIXED_EP_REG(ROLAND, ROLAND_UA101, 2),
+ UMQ_TERMINATOR
+};
+
+UMQ_FIXED_EP_DEF(ROLAND, ROLAND_UA101F, 2, 1, 1) = {
+ /* out */
+ { 0, 2 },
+ /* in */
+ { 1, 2 }
+};
+
+UMQ_DEF(ROLAND, ROLAND_UA101F, 2) = {
+ UMQ_FIXED_EP_REG(ROLAND, ROLAND_UA101F, 2),
+ UMQ_TERMINATOR
+};
+
+/*
+ * ROLAND Fantom-X
+ */
+UMQ_FIXED_EP_DEF(ROLAND, ROLAND_FANTOMX, 0, 1, 1) = {
+ /* out */
+ { 0, 1 },
+ /* in */
+ { 1, 1 }
+};
+
+UMQ_DEF(ROLAND, ROLAND_FANTOMX, 0) = {
+ UMQ_FIXED_EP_REG(ROLAND, ROLAND_FANTOMX, 0),
+ UMQ_TERMINATOR
+};
+
+/*
+ * ROLAND PCR
+ */
+UMQ_FIXED_EP_DEF(ROLAND, ROLAND_PCR, 0, 1, 1) = {
+ /* out */
+ { 0, 3 },
+ /* in */
+ { 1, 3 }
+};
+
+UMQ_DEF(ROLAND, ROLAND_PCR, 0) = {
+ UMQ_FIXED_EP_REG(ROLAND, ROLAND_PCR, 0),
+ UMQ_TERMINATOR
+};
/*
* quirk list
@@ -388,6 +458,11 @@ struct umidi_quirk umidi_quirklist[] = {
UMQ_REG(ROLAND, ROLAND_SD20, 0),
UMQ_REG(ROLAND, ROLAND_SD80, 0),
UMQ_REG(ROLAND, ROLAND_UA700, 3),
+ UMQ_REG(ROLAND, ROLAND_UA1000, 3),
+ UMQ_REG(ROLAND, ROLAND_UA101, 2),
+ UMQ_REG(ROLAND, ROLAND_UA101F, 2),
+ UMQ_REG(ROLAND, ROLAND_FANTOMX, 0),
+ UMQ_REG(ROLAND, ROLAND_PCR, 0),
UMQ_TERMINATOR
};
@@ -417,7 +492,7 @@ umidi_search_quirk(int vendor, int product, int ifaceno)
for (q=p->quirks; q->type; q++)
p->type_mask |= 1<<(q->type-1);
return p;
- }
+ }
DPRINTFN(10, ("\n"));
}