Hi Bob, On Monday 14 May 2012 18:23:59 Bob Liu wrote: > Fix uvc_v4l2_get_unmapped_area() for NOMMU arch like blackfin after > framework updated to use videobuf2. Thank you for the patch, but I'm afraid you're too late. The fix is already queued for v3.5 :-) > Signed-off-by: Bob Liu <lliubbo@xxxxxxxxx> > --- > drivers/media/video/uvc/uvc_queue.c | 30 ------------------------------ > drivers/media/video/uvc/uvc_v4l2.c | 2 +- > 2 files changed, 1 insertions(+), 31 deletions(-) > > diff --git a/drivers/media/video/uvc/uvc_queue.c > b/drivers/media/video/uvc/uvc_queue.c index 518f77d..30be060 100644 > --- a/drivers/media/video/uvc/uvc_queue.c > +++ b/drivers/media/video/uvc/uvc_queue.c > @@ -237,36 +237,6 @@ int uvc_queue_allocated(struct uvc_video_queue *queue) > return allocated; > } > > -#ifndef CONFIG_MMU > -/* > - * Get unmapped area. > - * > - * NO-MMU arch need this function to make mmap() work correctly. > - */ > -unsigned long uvc_queue_get_unmapped_area(struct uvc_video_queue *queue, > - unsigned long pgoff) > -{ > - struct uvc_buffer *buffer; > - unsigned int i; > - unsigned long ret; > - > - mutex_lock(&queue->mutex); > - for (i = 0; i < queue->count; ++i) { > - buffer = &queue->buffer[i]; > - if ((buffer->buf.m.offset >> PAGE_SHIFT) == pgoff) > - break; > - } > - if (i == queue->count) { > - ret = -EINVAL; > - goto done; > - } > - ret = (unsigned long)buf->mem; > -done: > - mutex_unlock(&queue->mutex); > - return ret; > -} > -#endif > - > /* > * Enable or disable the video buffers queue. > * > diff --git a/drivers/media/video/uvc/uvc_v4l2.c > b/drivers/media/video/uvc/uvc_v4l2.c index 2ae4f88..506d3d6 100644 > --- a/drivers/media/video/uvc/uvc_v4l2.c > +++ b/drivers/media/video/uvc/uvc_v4l2.c > @@ -1067,7 +1067,7 @@ static unsigned long uvc_v4l2_get_unmapped_area(struct > file *file, > > uvc_trace(UVC_TRACE_CALLS, "uvc_v4l2_get_unmapped_area\n"); > > - return uvc_queue_get_unmapped_area(&stream->queue, pgoff); > + return vb2_get_unmapped_area(&stream->queue, addr, len, pgoff, flags); Just for the record you would have needed to take the queue->mutex around the vb2_get_unmapped_area() call here. > } > #endif -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html