diff options
Diffstat (limited to 'drivers/media/usb/uvc')
-rw-r--r-- | drivers/media/usb/uvc/uvc_debugfs.c | 15 | ||||
-rw-r--r-- | drivers/media/usb/uvc/uvc_queue.c | 13 | ||||
-rw-r--r-- | drivers/media/usb/uvc/uvc_video.c | 3 | ||||
-rw-r--r-- | drivers/media/usb/uvc/uvcvideo.h | 4 |
4 files changed, 18 insertions, 17 deletions
diff --git a/drivers/media/usb/uvc/uvc_debugfs.c b/drivers/media/usb/uvc/uvc_debugfs.c index 14561a5abb79..368f8f8dfcb5 100644 --- a/drivers/media/usb/uvc/uvc_debugfs.c +++ b/drivers/media/usb/uvc/uvc_debugfs.c @@ -75,14 +75,14 @@ static const struct file_operations uvc_debugfs_stats_fops = { static struct dentry *uvc_debugfs_root_dir; -int uvc_debugfs_init_stream(struct uvc_streaming *stream) +void uvc_debugfs_init_stream(struct uvc_streaming *stream) { struct usb_device *udev = stream->dev->udev; struct dentry *dent; char dir_name[32]; if (uvc_debugfs_root_dir == NULL) - return -ENODEV; + return; sprintf(dir_name, "%u-%u", udev->bus->busnum, udev->devnum); @@ -90,7 +90,7 @@ int uvc_debugfs_init_stream(struct uvc_streaming *stream) if (IS_ERR_OR_NULL(dent)) { uvc_printk(KERN_INFO, "Unable to create debugfs %s " "directory.\n", dir_name); - return -ENODEV; + return; } stream->debugfs_dir = dent; @@ -100,10 +100,8 @@ int uvc_debugfs_init_stream(struct uvc_streaming *stream) if (IS_ERR_OR_NULL(dent)) { uvc_printk(KERN_INFO, "Unable to create debugfs stats file.\n"); uvc_debugfs_cleanup_stream(stream); - return -ENODEV; + return; } - - return 0; } void uvc_debugfs_cleanup_stream(struct uvc_streaming *stream) @@ -115,18 +113,17 @@ void uvc_debugfs_cleanup_stream(struct uvc_streaming *stream) stream->debugfs_dir = NULL; } -int uvc_debugfs_init(void) +void uvc_debugfs_init(void) { struct dentry *dir; dir = debugfs_create_dir("uvcvideo", usb_debug_root); if (IS_ERR_OR_NULL(dir)) { uvc_printk(KERN_INFO, "Unable to create debugfs directory\n"); - return -ENODATA; + return; } uvc_debugfs_root_dir = dir; - return 0; } void uvc_debugfs_cleanup(void) diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_queue.c index 77edd206d345..aa2199775cb8 100644 --- a/drivers/media/usb/uvc/uvc_queue.c +++ b/drivers/media/usb/uvc/uvc_queue.c @@ -43,6 +43,11 @@ uvc_queue_to_stream(struct uvc_video_queue *queue) return container_of(queue, struct uvc_streaming, queue); } +static inline struct uvc_buffer *uvc_vbuf_to_buffer(struct vb2_v4l2_buffer *buf) +{ + return container_of(buf, struct uvc_buffer, buf); +} + /* * Return all queued buffers to videobuf2 in the requested state. * @@ -89,7 +94,7 @@ static int uvc_buffer_prepare(struct vb2_buffer *vb) { struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb); struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); - struct uvc_buffer *buf = container_of(vbuf, struct uvc_buffer, buf); + struct uvc_buffer *buf = uvc_vbuf_to_buffer(vbuf); if (vb->type == V4L2_BUF_TYPE_VIDEO_OUTPUT && vb2_get_plane_payload(vb, 0) > vb2_plane_size(vb, 0)) { @@ -116,7 +121,7 @@ static void uvc_buffer_queue(struct vb2_buffer *vb) { struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb); struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); - struct uvc_buffer *buf = container_of(vbuf, struct uvc_buffer, buf); + struct uvc_buffer *buf = uvc_vbuf_to_buffer(vbuf); unsigned long flags; spin_lock_irqsave(&queue->irqlock, flags); @@ -138,7 +143,7 @@ static void uvc_buffer_finish(struct vb2_buffer *vb) struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb); struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); struct uvc_streaming *stream = uvc_queue_to_stream(queue); - struct uvc_buffer *buf = container_of(vbuf, struct uvc_buffer, buf); + struct uvc_buffer *buf = uvc_vbuf_to_buffer(vbuf); if (vb->state == VB2_BUF_STATE_DONE) uvc_video_clock_update(stream, vbuf, buf); @@ -412,7 +417,7 @@ struct uvc_buffer *uvc_queue_next_buffer(struct uvc_video_queue *queue, nextbuf = NULL; spin_unlock_irqrestore(&queue->irqlock, flags); - buf->state = buf->error ? VB2_BUF_STATE_ERROR : UVC_BUF_STATE_DONE; + buf->state = buf->error ? UVC_BUF_STATE_ERROR : UVC_BUF_STATE_DONE; vb2_set_plane_payload(&buf->buf.vb2_buf, 0, buf->bytesused); vb2_buffer_done(&buf->buf.vb2_buf, VB2_BUF_STATE_DONE); diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c index f3c1c852e401..07a6c833ef7b 100644 --- a/drivers/media/usb/uvc/uvc_video.c +++ b/drivers/media/usb/uvc/uvc_video.c @@ -1262,8 +1262,7 @@ static void uvc_video_decode_bulk(struct urb *urb, struct uvc_streaming *stream, uvc_video_decode_end(stream, buf, stream->bulk.header, stream->bulk.payload_size); if (buf->state == UVC_BUF_STATE_READY) - buf = uvc_queue_next_buffer(&stream->queue, - buf); + uvc_queue_next_buffer(&stream->queue, buf); } stream->bulk.header_size = 0; diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h index 3d6cc62f3cd2..4205e7a423f0 100644 --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h @@ -757,9 +757,9 @@ void uvc_video_decode_isight(struct urb *urb, struct uvc_streaming *stream, struct uvc_buffer *buf); /* debugfs and statistics */ -int uvc_debugfs_init(void); +void uvc_debugfs_init(void); void uvc_debugfs_cleanup(void); -int uvc_debugfs_init_stream(struct uvc_streaming *stream); +void uvc_debugfs_init_stream(struct uvc_streaming *stream); void uvc_debugfs_cleanup_stream(struct uvc_streaming *stream); size_t uvc_video_stats_dump(struct uvc_streaming *stream, char *buf, |