V4L/DVB (13149): uvcvideo: Add a new UVC_TRACE_VIDEO trace level
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 6 Aug 2009 14:41:17 +0000 (11:41 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:40:34 +0000 (18:40 -0200)
Use the trace level for messages related to video URB buffers allocation and
alternate setting selection.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/uvc/uvc_video.c
drivers/media/video/uvc/uvcvideo.h

index a6e41d12b22174f7a322ae1bb76abe66ebf8cb50..bb9fed66936310cd5df9d98338d89ec561467c66 100644 (file)
@@ -781,10 +781,15 @@ static int uvc_alloc_urb_buffers(struct uvc_streaming *stream,
 
                if (i == UVC_URBS) {
                        stream->urb_size = psize * npackets;
+                       uvc_trace(UVC_TRACE_VIDEO, "Allocated %u URB buffers "
+                               "of %ux%u bytes each.\n", UVC_URBS, npackets,
+                               psize);
                        return npackets;
                }
        }
 
+       uvc_trace(UVC_TRACE_VIDEO, "Failed to allocate URB buffers (%u bytes "
+               "per packet).\n", psize);
        return 0;
 }
 
@@ -935,10 +940,12 @@ static int uvc_init_video(struct uvc_streaming *stream, gfp_t gfp_flags)
                bandwidth = stream->ctrl.dwMaxPayloadTransferSize;
 
                if (bandwidth == 0) {
-                       uvc_printk(KERN_WARNING, "device %s requested null "
-                               "bandwidth, defaulting to lowest.\n",
-                               stream->dev->name);
+                       uvc_trace(UVC_TRACE_VIDEO, "Device requested null "
+                               "bandwidth, defaulting to lowest.\n");
                        bandwidth = 1;
+               } else {
+                       uvc_trace(UVC_TRACE_VIDEO, "Device requested %u "
+                               "B/frame bandwidth.\n", bandwidth);
                }
 
                for (i = 0; i < intf->num_altsetting; ++i) {
@@ -955,8 +962,11 @@ static int uvc_init_video(struct uvc_streaming *stream, gfp_t gfp_flags)
                                break;
                }
 
-               if (i >= intf->num_altsetting)
+               if (i >= intf->num_altsetting) {
+                       uvc_trace(UVC_TRACE_VIDEO, "No fast enough alt setting "
+                               "for requested bandwidth.\n");
                        return -EIO;
+               }
 
                ret = usb_set_interface(stream->dev->udev, intfnum, i);
                if (ret < 0)
index e7958aa454cefa28603536e40a7ac65089bf309d..f5c40c0f0b49801a049705e28ec479a9f64f81f8 100644 (file)
@@ -533,6 +533,7 @@ struct uvc_driver {
 #define UVC_TRACE_FRAME                (1 << 7)
 #define UVC_TRACE_SUSPEND      (1 << 8)
 #define UVC_TRACE_STATUS       (1 << 9)
+#define UVC_TRACE_VIDEO                (1 << 10)
 
 #define UVC_WARN_MINMAX                0
 #define UVC_WARN_PROBE_DEF     1