All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tobias Hansen <Tobias.Hansen@physik.uni-hamburg.de>
To: alsa-devel@alsa-project.org, fzu@wemgehoertderstaat.de,
	delaossa@mail.desy.de
Subject: [PATCH] snd-usb-us122l: add product IDs of US-122MKII and US-144MKII
Date: Mon, 07 Dec 2009 19:08:19 +0100	[thread overview]
Message-ID: <4B1D4493.2010706@physik.uni-hamburg.de> (raw)

snd-usb-us122l: add product IDs of US-122MKII and US-144MKII

I added the product IDs of the new revisions of the devices, so owners 
can test whether this suffices to make them work. Patched against ALSA 
snapshot 20091207.

Signed-off-by: Tobias Hansen <Tobias.Hansen at physik.uni-hamburg.de <http://mailman.alsa-project.org/mailman/listinfo/alsa-devel>>

---

diff -upr alsa-driver.orig/alsa-kernel/usb/usx2y/us122l.c 
alsa-driver/alsa-kernel/usb/usx2y/us122l.c
--- alsa-driver.orig/alsa-kernel/usb/usx2y/us122l.c    2009-12-07 
00:05:40.000000000 +0100
+++ alsa-driver/alsa-kernel/usb/usx2y/us122l.c    2009-12-07 
18:50:27.801975964 +0100
@@ -194,7 +194,8 @@ static int usb_stream_hwdep_open(struct
     if (!us122l->first)
         us122l->first = file;
 
-    if (us122l->dev->descriptor.idProduct == USB_ID_US144) {
+    if (us122l->dev->descriptor.idProduct == USB_ID_US144 ||
+        us122l->dev->descriptor.idProduct == USB_ID_US144MKII) {
         iface = usb_ifnum_to_if(us122l->dev, 0);
         usb_autopm_get_interface(iface);
     }
@@ -209,7 +210,8 @@ static int usb_stream_hwdep_release(stru
     struct usb_interface *iface;
     snd_printdd(KERN_DEBUG "%p %p\n", hw, file);
 
-    if (us122l->dev->descriptor.idProduct == USB_ID_US144) {
+    if (us122l->dev->descriptor.idProduct == USB_ID_US144 ||
+        us122l->dev->descriptor.idProduct == USB_ID_US144MKII) {
         iface = usb_ifnum_to_if(us122l->dev, 0);
         usb_autopm_put_interface(iface);
     }
@@ -476,7 +478,8 @@ static bool us122l_create_card(struct sn
     int err;
     struct us122l *us122l = US122L(card);
 
-    if (us122l->dev->descriptor.idProduct == USB_ID_US144) {
+    if (us122l->dev->descriptor.idProduct == USB_ID_US144 ||
+        us122l->dev->descriptor.idProduct == USB_ID_US144MKII) {
         err = usb_set_interface(us122l->dev, 0, 1);
         if (err) {
             snd_printk(KERN_ERR "usb_set_interface error \n");
@@ -495,7 +498,8 @@ static bool us122l_create_card(struct sn
     if (!us122l_start(us122l, 44100, 256))
         return false;
 
-    if (us122l->dev->descriptor.idProduct == USB_ID_US144)
+    if (us122l->dev->descriptor.idProduct == USB_ID_US144 ||
+        us122l->dev->descriptor.idProduct == USB_ID_US144MKII)
         err = us144_create_usbmidi(card);
     else
         err = us122l_create_usbmidi(card);
@@ -597,7 +601,8 @@ static int snd_us122l_probe(struct usb_i
     struct snd_card *card;
     int err;
 
-    if (device->descriptor.idProduct == USB_ID_US144
+    if ((device->descriptor.idProduct == USB_ID_US144 ||
+        us122l->dev->descriptor.idProduct == USB_ID_US144MKII)
         && device->speed == USB_SPEED_HIGH) {
         snd_printk(KERN_ERR "disable ehci-hcd to run US-144 \n");
         return -ENODEV;
@@ -692,7 +697,8 @@ static int snd_us122l_resume(struct usb_
 
     mutex_lock(&us122l->mutex);
     /* needed, doesn't restart without: */
-    if (us122l->dev->descriptor.idProduct == USB_ID_US144) {
+    if (us122l->dev->descriptor.idProduct == USB_ID_US144 ||
+        us122l->dev->descriptor.idProduct == USB_ID_US144MKII) {
         err = usb_set_interface(us122l->dev, 0, 1);
         if (err) {
             snd_printk(KERN_ERR "usb_set_interface error \n");
@@ -737,6 +743,16 @@ static struct usb_device_id snd_us122l_u
         .idVendor =    0x0644,
         .idProduct =    USB_ID_US144
     },
+    {
+        .match_flags =    USB_DEVICE_ID_MATCH_DEVICE,
+        .idVendor =    0x0644,
+        .idProduct =    USB_ID_US122MKII
+    },
+    {
+        .match_flags =    USB_DEVICE_ID_MATCH_DEVICE,
+        .idVendor =    0x0644,
+        .idProduct =    USB_ID_US144MKII
+    },
     { /* terminator */ }
 };
 
diff -upr alsa-driver.orig/alsa-kernel/usb/usx2y/us122l.h 
alsa-driver/alsa-kernel/usb/usx2y/us122l.h
--- alsa-driver.orig/alsa-kernel/usb/usx2y/us122l.h    2009-12-07 
00:05:40.000000000 +0100
+++ alsa-driver/alsa-kernel/usb/usx2y/us122l.h    2009-12-07 
18:44:03.990236199 +0100
@@ -25,5 +25,7 @@ struct us122l {
 
 #define USB_ID_US122L 0x800E
 #define USB_ID_US144 0x800F
+#define USB_ID_US122MKII 0x8021
+#define USB_ID_US144MKII 0x8020
 
 #endif

             reply	other threads:[~2009-12-07 18:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-07 18:08 Tobias Hansen [this message]
2009-12-08 13:09 ` [PATCH] snd-usb-us122l: add product IDs of US-122MKII and US-144MKII Takashi Iwai
2009-12-08 14:04   ` Alberto Martinez de la Ossa
2009-12-08 14:13     ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2009-12-10 11:58 Tobias Hansen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B1D4493.2010706@physik.uni-hamburg.de \
    --to=tobias.hansen@physik.uni-hamburg.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=delaossa@mail.desy.de \
    --cc=fzu@wemgehoertderstaat.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.