Hi Laurent, On Tue, May 15, 2012 at 9:01 AM, Bob Liu <lliubbo@xxxxxxxxx> wrote: > 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. Sorry for my misunderstanding. I've seen the fix in the queue for v3.5. Please ignore my noise. > >> >>> 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 -- 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