public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] vb2: Allow STREAMOFF for io emulator
@ 2013-10-04 13:49 Ricardo Ribalda Delgado
  2013-10-04 14:09 ` Hans Verkuil
  2013-10-08  7:22 ` Marek Szyprowski
  0 siblings, 2 replies; 6+ messages in thread
From: Ricardo Ribalda Delgado @ 2013-10-04 13:49 UTC (permalink / raw)
  To: Pawel Osciak, Marek Szyprowski, Kyungmin Park,
	Mauro Carvalho Chehab, linux-media, linux-kernel
  Cc: Ricardo Ribalda Delgado

A video device opened and streaming in io emulator mode can only stop
streamming if its file descriptor is closed.

There are some parameters that can only be changed if the device is not
streaming. Also, the power consumption of a device streaming could be
different than one not streaming.

With this patch a video device opened in io emulator can be stopped on
demand.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/v4l2-core/videobuf2-core.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
index 9fc4bab..097fba8 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -1686,6 +1686,7 @@ int vb2_streamon(struct vb2_queue *q, enum v4l2_buf_type type)
 }
 EXPORT_SYMBOL_GPL(vb2_streamon);
 
+static int __vb2_cleanup_fileio(struct vb2_queue *q);
 
 /**
  * vb2_streamoff - stop streaming
@@ -1704,11 +1705,6 @@ EXPORT_SYMBOL_GPL(vb2_streamon);
  */
 int vb2_streamoff(struct vb2_queue *q, enum v4l2_buf_type type)
 {
-	if (q->fileio) {
-		dprintk(1, "streamoff: file io in progress\n");
-		return -EBUSY;
-	}
-
 	if (type != q->type) {
 		dprintk(1, "streamoff: invalid stream type\n");
 		return -EINVAL;
@@ -1719,6 +1715,11 @@ int vb2_streamoff(struct vb2_queue *q, enum v4l2_buf_type type)
 		return -EINVAL;
 	}
 
+	if (q->fileio) {
+		__vb2_cleanup_fileio(q);
+		return 0;
+	}
+
 	/*
 	 * Cancel will pause streaming and remove all buffers from the driver
 	 * and videobuf, effectively returning control over them to userspace.
-- 
1.8.4.rc3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-10-08 10:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-04 13:49 [PATCH] vb2: Allow STREAMOFF for io emulator Ricardo Ribalda Delgado
2013-10-04 14:09 ` Hans Verkuil
2013-10-04 14:16   ` Ricardo Ribalda Delgado
2013-10-08  7:22 ` Marek Szyprowski
2013-10-08  7:58   ` Ricardo Ribalda Delgado
2013-10-08 10:00     ` Marek Szyprowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox