]> git.hungrycats.org Git - linux/commitdiff
[PATCH] 2.5.12 - make usbvideo_register take a usb_device_id table
authorSimon Evans <spse@secret.org.uk>
Thu, 2 May 2002 08:44:50 +0000 (01:44 -0700)
committerGreg Kroah-Hartman <greg@kroah.com>
Thu, 2 May 2002 08:44:50 +0000 (01:44 -0700)
This patch makes 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.

drivers/usb/media/ibmcam.c
drivers/usb/media/konicawc.c
drivers/usb/media/ultracam.c
drivers/usb/media/usbvideo.c
drivers/usb/media/usbvideo.h

index f8c3ea116b82f0806a213f49ab6b9e01d253139d..99a92a58e223e4eb7b3cecfec5905d8556c0e2f5 100644 (file)
@@ -3899,6 +3899,17 @@ static void *ibmcam_probe(struct usb_device *dev, unsigned int ifnum, const stru
        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 @@ static int __init ibmcam_init(void)
                sizeof(ibmcam_t),
                "ibmcam",
                &cbTbl,
-               THIS_MODULE);
+               THIS_MODULE,
+               id_table);
 }
 
 static void __exit ibmcam_cleanup(void)
@@ -3934,15 +3946,6 @@ static void __exit ibmcam_cleanup(void)
        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);
index e34316b7cba78694e824d41c18cc306161b4e0a5..e8febe654132d059fdfef7fd992b99d8efce9b4c 100644 (file)
@@ -767,7 +767,8 @@ static int __init konicawc_init(void)
                sizeof(struct konicawc),
                "konicawc",
                &cbTbl,
-               THIS_MODULE);
+               THIS_MODULE,
+               id_table);
 }
 
 
index 94b261d3855134691fa60ea0ea08d870bef86a79..c07f87fc0a274e523504ee436ecd8d613253a26f 100644 (file)
@@ -659,6 +659,12 @@ static void *ultracam_probe(struct usb_device *dev, unsigned int ifnum ,const st
        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 @@ static int __init ultracam_init(void)
                sizeof(ultracam_t),
                "ultracam",
                &cbTbl,
-               THIS_MODULE);
+               THIS_MODULE,
+               id_table);
 }
 
 static void __exit ultracam_cleanup(void)
@@ -690,16 +697,7 @@ static void __exit ultracam_cleanup(void)
        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);
index 93941aab200b7722e0b76741049a4f2e40f104d6..7a5c4b5d8aaa64659d162df0984b645132c1d7c7 100644 (file)
@@ -749,7 +749,8 @@ int usbvideo_register(
        const int num_extra,
        const char *driverName,
        const usbvideo_cb_t *cbTbl,
-       struct module *md )
+       struct module *md,
+       const struct usb_device_id *id_table)
 {
        static const char proc[] = "usbvideo_register";
        usbvideo_t *cams;
@@ -839,6 +840,7 @@ int usbvideo_register(
        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) {
index 507d56984de8990fc219eab14df9e6d22aef3287..1c89f6984e050b48cda984e87621f2b10ba77d7a 100644 (file)
@@ -327,7 +327,8 @@ int usbvideo_register(
        const int num_extra,
        const char *driverName,
        const usbvideo_cb_t *cbTable,
-       struct module *md);
+       struct module *md,
+       const struct usb_device_id *id_table);
 uvd_t *usbvideo_AllocateDevice(usbvideo_t *cams);
 int usbvideo_RegisterVideoDevice(uvd_t *uvd);
 void usbvideo_Deregister(usbvideo_t **uvt);