ChangeSet 1.893.2.20, 2002/12/26 18:54:18-08:00, [EMAIL PROTECTED]
[PATCH] 2.4.20 usbvideo fixes from 2.5 5/5
Make usbvideo_register take a usb_device_id argument which it
can then pass to usb_register via the struct usb_device.
Currently it passes NULL.
diff -Nru a/drivers/usb/ibmcam.c b/drivers/usb/ibmcam.c
--- a/drivers/usb/ibmcam.c Mon Jan 6 11:30:11 2003
+++ b/drivers/usb/ibmcam.c Mon Jan 6 11:30:11 2003
@@ -3899,6 +3899,17 @@
return uvd;
}
+
+static struct usb_device_id id_table[] = {
+ { USB_DEVICE_VER(IBMCAM_VENDOR_ID, IBMCAM_PRODUCT_ID, 0x0002, 0x0002) },
+ /* Model 1 */
+ { USB_DEVICE_VER(IBMCAM_VENDOR_ID, IBMCAM_PRODUCT_ID, 0x030a, 0x030a) },
+ /* Model 2 */
+ { USB_DEVICE_VER(IBMCAM_VENDOR_ID, IBMCAM_PRODUCT_ID, 0x0301, 0x0301) },
+ /* Model 3 */
+ { USB_DEVICE_VER(IBMCAM_VENDOR_ID, NETCAM_PRODUCT_ID, 0x030a, 0x030a) },
+ /* Model 4 */
+ { USB_DEVICE_VER(IBMCAM_VENDOR_ID, VEO_800C_PRODUCT_ID, 0x030a, 0x030a) },
+ /* Model 2 */
+ { USB_DEVICE_VER(IBMCAM_VENDOR_ID, VEO_800D_PRODUCT_ID, 0x030a, 0x030a) },
+ /* Model 4 */
+ { } /* Terminating entry */
+};
+
/*
* ibmcam_init()
*
@@ -3926,7 +3937,8 @@
sizeof(ibmcam_t),
"ibmcam",
&cbTbl,
- THIS_MODULE);
+ THIS_MODULE,
+ id_table);
}
static void __exit ibmcam_cleanup(void)
@@ -3934,15 +3946,6 @@
usbvideo_Deregister(&cams);
}
-static __devinitdata struct usb_device_id id_table[] = {
- { USB_DEVICE_VER(IBMCAM_VENDOR_ID, IBMCAM_PRODUCT_ID, 0x0002, 0x0002) },
/* Model 1 */
- { USB_DEVICE_VER(IBMCAM_VENDOR_ID, IBMCAM_PRODUCT_ID, 0x030a, 0x030a) },
/* Model 2 */
- { USB_DEVICE_VER(IBMCAM_VENDOR_ID, IBMCAM_PRODUCT_ID, 0x0301, 0x0301) },
/* Model 3 */
- { USB_DEVICE_VER(IBMCAM_VENDOR_ID, NETCAM_PRODUCT_ID, 0x030a, 0x030a) },
/* Model 4 */
- { USB_DEVICE_VER(IBMCAM_VENDOR_ID, VEO_800C_PRODUCT_ID, 0x030a, 0x030a) },
/* Model 2 */
- { USB_DEVICE_VER(IBMCAM_VENDOR_ID, VEO_800D_PRODUCT_ID, 0x030a, 0x030a) },
/* Model 4 */
- { } /* Terminating entry */
-};
MODULE_DEVICE_TABLE(usb, id_table);
module_init(ibmcam_init);
diff -Nru a/drivers/usb/ultracam.c b/drivers/usb/ultracam.c
--- a/drivers/usb/ultracam.c Mon Jan 6 11:30:11 2003
+++ b/drivers/usb/ultracam.c Mon Jan 6 11:30:11 2003
@@ -659,6 +659,12 @@
return uvd;
}
+
+static struct usb_device_id id_table[] = {
+ { USB_DEVICE(ULTRACAM_VENDOR_ID, ULTRACAM_PRODUCT_ID) },
+ { } /* Terminating entry */
+};
+
/*
* ultracam_init()
*
@@ -682,7 +688,8 @@
sizeof(ultracam_t),
"ultracam",
&cbTbl,
- THIS_MODULE);
+ THIS_MODULE,
+ id_table);
}
static void __exit ultracam_cleanup(void)
@@ -690,16 +697,7 @@
usbvideo_Deregister(&cams);
}
-#if defined(usb_device_id_ver)
-
-static __devinitdata struct usb_device_id id_table[] = {
- { USB_DEVICE(ULTRACAM_VENDOR_ID, ULTRACAM_PRODUCT_ID) },
- { } /* Terminating entry */
-};
MODULE_DEVICE_TABLE(usb, id_table);
-
-
-#endif /* defined(usb_device_id_ver) */
MODULE_LICENSE("GPL");
module_init(ultracam_init);
diff -Nru a/drivers/usb/usbvideo.c b/drivers/usb/usbvideo.c
--- a/drivers/usb/usbvideo.c Mon Jan 6 11:30:11 2003
+++ b/drivers/usb/usbvideo.c Mon Jan 6 11:30:11 2003
@@ -736,7 +736,8 @@
const int num_extra,
const char *driverName,
const struct usbvideo_cb *cbTbl,
- struct module *md )
+ struct module *md,
+ const struct usb_device_id *id_table)
{
struct usbvideo *cams;
int i, base_size;
@@ -825,6 +826,7 @@
cams->usbdrv.name = cams->drvName;
cams->usbdrv.probe = cams->cb.probe;
cams->usbdrv.disconnect = cams->cb.disconnect;
+ cams->usbdrv.id_table = id_table;
#if USES_PROC_FS
if (cams->uses_procfs) {
diff -Nru a/drivers/usb/usbvideo.h b/drivers/usb/usbvideo.h
--- a/drivers/usb/usbvideo.h Mon Jan 6 11:30:11 2003
+++ b/drivers/usb/usbvideo.h Mon Jan 6 11:30:11 2003
@@ -346,7 +346,8 @@
const int num_extra,
const char *driverName,
const struct usbvideo_cb *cbTable,
- struct module *md);
+ struct module *md,
+ const struct usb_device_id *id_table);
struct uvd *usbvideo_AllocateDevice(struct usbvideo *cams);
int usbvideo_RegisterVideoDevice(struct uvd *uvd);
void usbvideo_Deregister(struct usbvideo **uvt);
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel