Hi Laurent, On Mon, May 14, 2012 at 7:31 PM, Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > 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 :-) It doesn't matter. > >> 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. > okay, i'll send out v2 soon, please queue it for next window. Thank you. >> } >> #endif > > -- > Regards, > > Laurent Pinchart > -- Regards, --Bob -- 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