All pastes #475417 Raw Edit

rshortt

public text v1 · immutable
·published 2007-05-07 12:54 UTC
rendered paste body
Index: Makefile
===================================================================
--- Makefile    (revision 92)
+++ Makefile    (working copy)
@@ -18,7 +18,7 @@

 install:
        mkdir -p $(DESTDIR)/lib/modules/$(shell uname -r)/kernel/drivers/usb/media
-       install -m 644 -o 0 -g 0 slim321c.ko $(DESTDIR)/lib/modules/$(shell uname -r)/kernel/drivers/usb/media
+       install -m 644 -o 0 -g 0 m5603c.ko $(DESTDIR)/lib/modules/$(shell uname -r)/kernel/drivers/usb/media
        depmod -a

 dist:
Index: m5603c.c
===================================================================
--- m5603c.c    (revision 92)
+++ m5603c.c    (working copy)
@@ -34,14 +34,16 @@
 static unsigned int debug = 0;

 static struct usb_device_id m5603c_table[] = {
-       {USB_DEVICE(0x0458, 0x7020)},
+    {USB_DEVICE(0x0458, 0x7020)},
     {USB_DEVICE(0x041e, 0x4038)},
+    {USB_DEVICE(0x041e, 0x4045)},
     {}
 };

-static char* m5603c_name[3] = {
+static char* m5603c_name[4] = {
     "Genius Slim 321C",
     "Creative WebCam Live! Pro",
+    "Creative WebCam Live! Voice",
     NULL
 };

@@ -354,8 +356,11 @@
     buff[0] &= 0xfb; usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0x04, 0x40, 0x13, 0x8140, buff, 1, URB_MSG_TIMEOUT);

     if (fLoadFirmware) {
+        info("This camera needs to load firmware.");
         load_firmware(cam);
         buff[0] = 0x00; usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0x04, 0x40, 0x10, 0x0000, buff, 1, URB_MSG_TIMEOUT);
+    } else {
+        info("This camera does not need to load firmware.");
     }

     buff[0] = 0xff; usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0x04, 0x40, 0x13, 0x0fe4, buff, 1, URB_MSG_TIMEOUT);
@@ -882,9 +887,12 @@
     size_t buffer_size;
     int i;
     int error = 0;
+
+    info("INSIDE PROBE");

     for (i = 0; i < sizeof(m5603c_table) / sizeof(struct usb_device_id); i++)
     {
+        info("scanning for %08x:%08x", le16_to_cpu(udev->descriptor.idVendor), le16_to_cpu(udev->descriptor.idProduct));
         if ((le16_to_cpu(udev->descriptor.idVendor) == m5603c_table[i].idVendor) &&
            (le16_to_cpu(udev->descriptor.idProduct) == m5603c_table[i].idProduct))
         {
@@ -957,6 +965,7 @@

     cam->vdev = video_device_alloc();
     if (!cam->vdev) {
+        err("Could not allocate video device");
         error = -ENOMEM;
         goto fail;
     }