V4L/DVB (11927): em28xx: provide module option to disable USB speed check
authorDevin Heitmueller <dheitmueller@kernellabs.com>
Thu, 28 May 2009 02:44:10 +0000 (23:44 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 16 Jun 2009 22:07:22 +0000 (19:07 -0300)
Add an em28xx module option that allows a user to override the USB speed check.
Intended for advanced users who understand the consequences of trying to use
the device with a 12Mbps bus.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/em28xx/em28xx-cards.c

index b2c2629..36abb35 100644 (file)
@@ -49,6 +49,11 @@ static unsigned int disable_ir;
 module_param(disable_ir, int, 0444);
 MODULE_PARM_DESC(disable_ir, "disable infrared remote support");
 
+static unsigned int disable_usb_speed_check;
+module_param(disable_usb_speed_check, int, 0444);
+MODULE_PARM_DESC(disable_usb_speed_check,
+                "override min bandwidth requirement of 480M bps");
+
 static unsigned int card[]     = {[0 ... (EM28XX_MAXBOARDS - 1)] = UNSET };
 module_param_array(card,  int, NULL, 0444);
 MODULE_PARM_DESC(card,     "card type");
@@ -2371,7 +2376,7 @@ static int em28xx_usb_probe(struct usb_interface *interface,
         * video stream wouldn't likely work, since 12 Mbps is generally
         * not enough even for most Digital TV streams.
         */
-       if (udev->speed != USB_SPEED_HIGH) {
+       if (udev->speed != USB_SPEED_HIGH && disable_usb_speed_check == 0) {
                printk(DRIVER_NAME ": Device initialization failed.\n");
                printk(DRIVER_NAME ": Device must be connected to a high-speed"
                       " USB 2.0 port.\n");