Hi Bradon,
On Saturday 16 February 2008, Brandon Philips wrote:
> Allow people to test quirks without recompiling but strongly discourage
> the use with a kernel log message. Example:
>
> modprobe uvcvideo testquirk=10 # UVC_QUIRK_STREAM_NO_FID
Thanks for the patch. I applied a slightly different version with a modified
kernel log message.
> Signed-off-by: Brandon Philips <[EMAIL PROTECTED]>
>
> ---
> uvc_driver.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> Index: uvc/uvc_driver.c
> ===================================================================
> --- uvc.orig/uvc_driver.c
> +++ uvc/uvc_driver.c
> @@ -51,6 +51,8 @@
> #define DRIVER_VERSION "v0.1.0"
> #endif
>
> +static unsigned int uvc_testquirk_param;
> +
> /*
> ------------------------------------------------------------------------ *
> Control, formats, ...
> */
> @@ -1539,7 +1541,7 @@ static int uvc_probe(struct usb_interfac
> dev->udev = usb_get_dev(udev);
> dev->intf = usb_get_intf(intf);
> dev->intfnum = intf->cur_altsetting->desc.bInterfaceNumber;
> - dev->quirks = id->driver_info;
> + dev->quirks = id->driver_info | uvc_testquirk_param;
>
> /* Parse the Video Class control descriptor */
> if (uvc_parse_control(dev) < 0) {
> @@ -1553,6 +1555,14 @@ static int uvc_probe(struct usb_interfac
> le16_to_cpu(udev->descriptor.idVendor),
> le16_to_cpu(udev->descriptor.idProduct));
>
> + if (uvc_testquirk_param != 0) {
> + uvc_printk(KERN_INFO, "WARNING: testquirk param (%d) is set, "
> + "this is for testing only.\nPlease "
> + "report required quirks to the "
> + "linux-uvc mailing list.\n",
> + uvc_testquirk_param);
'\n' in log messages will confuse printk. The log level will be lost. A patch
has been sent in January on the LKML to fix that. In the meantime I'll use
two printk statements.
> + }
> +
> /* Initialize controls */
> if (uvc_ctrl_init_device(dev) < 0)
> goto error;
> @@ -1877,6 +1887,8 @@ module_exit(uvc_cleanup);
> unsigned int uvc_trace_param = 0;
> module_param_named(trace, uvc_trace_param, uint, S_IRUGO|S_IWUSR);
>
> +module_param_named(testquirk, uvc_testquirk_param, uint, S_IRUGO|S_IWUSR);
> +
> MODULE_AUTHOR(DRIVER_AUTHOR);
> MODULE_DESCRIPTION(DRIVER_DESC);
> MODULE_LICENSE("GPL");
Best regards,
Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel