V4L2 file handles and event interface
Subsystems (2)
v8 cover V4L2 file handles and event interface
Hi,
Here's the tenth version of the V4L2 file handle and event interface patchset.
The patchset has been tested with the OMAP 3 ISP driver. Patches for OMAP 3 ISP are not part of this patchset but are available in Gitorious (branch is called event):
git://gitorious.org/omap3camera/mainline.git event
The patchset I'm posting now is against the v4l-dvb tree instead of linux-omap. The omap3camera tree thus has a slightly different version of these patches (just Makefiles) due to different baselines.
Some more comments from Hans and Randy. There are only improvements in documentation this time.
Comments are welcome as always.
Cheers,
Signature · 2 lines
Sakari Ailus [email protected]
PATCH v8 1/6 V4L: File handles
This patch adds a list of v4l2_fh structures to every video_device. It allows using file handle related information in V4L2. The event interface is one example of such use.
Video device drivers should use the v4l2_fh pointer as their file->private_data.
--- drivers/media/video/Makefile | 2 +- drivers/media/video/v4l2-dev.c | 4 ++ drivers/media/video/v4l2-fh.c | 66 ++++++++++++++++++++++++++++++++++++++++ include/media/v4l2-dev.h | 5 +++ include/media/v4l2-fh.h | 42 +++++++++++++++++++++++++ 5 files changed, 118 insertions(+), 1 deletions(-) create mode 100644 drivers/media/video/v4l2-fh.c create mode 100644 include/media/v4l2-fh.h
drivers/media/video/Makefile +1 -1
@@ -10,7 +10,7 @@ stkwebcam-objs := stk-webcam.o stk-sensor.o omap2cam-objs := omap24xxcam.o omap24xxcam-dma.o -videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o +videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o # V4L2 core modules
drivers/media/video/v4l2-dev.c +4 -0
@@ -421,6 +421,10 @@ static int __video_register_device(struct video_device *vdev, int type, int nr,if (!vdev->release)return -EINVAL ; +/* v4l2_fh support */ +spin_lock_init (&vdev->fh_lock); +INIT_LIST_HEAD (&vdev->fh_list); +/* Part 1: check device type */ switch (type) {case VFL_TYPE_GRABBER :
drivers/media/video/v4l2-fh.c new file +66 -0
66 lines not on this page · raw message
include/media/v4l2-dev.h +5 -0
@@ -32,6 +32,7 @@ struct v4l2_device;Drivers can clear this flag if they want to block all future device access. It is cleared by video_unregister_device. */ #define V4L2_FL_REGISTERED (0) +#define V4L2_FL_USES_V4L2_FH (1)struct v4l2_file_operations {struct module *owner;
@@ -77,6 +78,10 @@ struct video_device/* attribute to differentiate multiple indices on one physical device */ int index; +/* V4L2 file handles */ +spinlock_t fh_lock;/* Lock for all v4l2_fhs */ +struct list_head fh_list;/* List of struct v4l2_fh */ +int debug;/* Activates debug level*/ /* Video standard vars */
include/media/v4l2-fh.h new file +42 -0
42 lines not on this page · raw message
Signature · 1 line
1.5.6.5
PATCH v8 2/6 V4L: File handles: Add documentation
In reply to Sakari AilusAdd documentation on using V4L2 file handles (v4l2_fh) in V4L2 drivers.
--- Documentation/video4linux/v4l2-framework.txt | 37 ++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-)
Documentation/video4linux/v4l2-framework.txt +37 -0
@@ -695,3 +695,40 @@ The better way to understand it is to take a look at vivi driver. One of the main reasons for vivi is to be a videobuf usage example. the vivi_thread_tick() does the task that the IRQ callback would do on PCI drivers (or the irq callback on USB). + +struct v4l2_fh +-------------- + +struct v4l2_fh provides a way to easily keep file handle specific data +that is used by the V4L2 framework. + +struct v4l2_fh is allocated as a part of the driver's own file handle +structure and is set to file->private_data in the driver's open +function by the driver. Drivers can extract their own file handle +structure by using the container_of macro. + +Useful functions: + +- v4l2_fh_init() + + Initialise the file handle. This *MUST* be performed in the driver's + v4l2_file_operations->open() handler. + +- v4l2_fh_add() + + Add a v4l2_fh to video_device file handle list. May be called after + initialising the file handle. + +- v4l2_fh_del() + + Unassociate the file handle from video_device(). The file handle + exit function may now be called. + +- v4l2_fh_exit() + + Uninitialise the file handle. After uninitialisation the v4l2_fh + memory can be freed. + +The users of v4l2_fh know whether a driver uses v4l2_fh as its +file->private_data pointer by testing the V4L2_FL_USES_V4L2_FH bit in +video_device->flags.
Signature · 1 line
1.5.6.5
PATCH v8 3/6 V4L: Events: Add new ioctls for events
In reply to Sakari AilusThis patch adds a set of new ioctls to the V4L2 API. The ioctls conform to V4L2 Events RFC version 2.3:
<URL:http://www.spinics.net/lists/linux-media/msg12033.html>
--- drivers/media/video/v4l2-compat-ioctl32.c | 3 +++ drivers/media/video/v4l2-ioctl.c | 3 +++ include/linux/videodev2.h | 26 ++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 0 deletions(-)
drivers/media/video/v4l2-compat-ioctl32.c +3 -0
@@ -1086,6 +1086,9 @@ long v4l2_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)case VIDIOC_QUERY_DV_PRESET :case VIDIOC_S_DV_TIMINGS :case VIDIOC_G_DV_TIMINGS : +case VIDIOC_DQEVENT : +case VIDIOC_SUBSCRIBE_EVENT : +case VIDIOC_UNSUBSCRIBE_EVENT : ret =do_video_ioctl (file, cmd, arg);break ;
drivers/media/video/v4l2-ioctl.c +3 -0
@@ -290,6 +290,9 @@ static const char *v4l2_ioctls[] = { [_IOC_NR(VIDIOC_QUERY_DV_PRESET)] = "VIDIOC_QUERY_DV_PRESET", [_IOC_NR(VIDIOC_S_DV_TIMINGS)] = "VIDIOC_S_DV_TIMINGS", [_IOC_NR(VIDIOC_G_DV_TIMINGS)] = "VIDIOC_G_DV_TIMINGS", + [_IOC_NR(VIDIOC_DQEVENT)] = "VIDIOC_DQEVENT", + [_IOC_NR(VIDIOC_SUBSCRIBE_EVENT)] = "VIDIOC_SUBSCRIBE_EVENT", + [_IOC_NR(VIDIOC_UNSUBSCRIBE_EVENT)] = "VIDIOC_UNSUBSCRIBE_EVENT", };#define V4L2_IOCTLS ARRAY_SIZE(v4l2_ioctls)
include/linux/videodev2.h +26 -0
@@ -1622,6 +1622,29 @@ struct v4l2_streamparm { };/* +* E V E N T S +*/ + +struct v4l2_event { +__u32 type; +union { +__u8 data[64 ]; + } u; +__u32 pending; +__u32 sequence; +struct timespec timestamp; +__u32 reserved[9 ]; +}; + +struct v4l2_event_subscription { +__u32 type; +__u32 reserved[7 ]; +}; + +#define V4L2_EVENT_ALL 0 +#define V4L2_EVENT_PRIVATE_START 0x08000000 + +/* * A D V A N C E D D E B U G G I N G * * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS!
@@ -1743,6 +1766,9 @@ struct v4l2_dbg_chip_ident {#define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct v4l2_dv_preset)#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings) +#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event) +#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription) +#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription)/* Reminder: when adding new ioctls please add support for them to drivers/media/video/v4l2-compat-ioctl32.c as well! */
Signature · 1 line
1.5.6.5
PATCH v8 4/6 V4L: Events: Add backend
In reply to Sakari AilusAdd event handling backend to V4L2. The backend handles event subscription and delivery to file handles. Event subscriptions are based on file handle. Events may be delivered to all subscribed file handles on a device independent of where they originate from.
--- drivers/media/video/Makefile | 3 +- drivers/media/video/v4l2-event.c | 289 ++++++++++++++++++++++++++++++++++++++ drivers/media/video/v4l2-fh.c | 6 +- include/media/v4l2-event.h | 67 +++++++++ include/media/v4l2-fh.h | 2 + 5 files changed, 365 insertions(+), 2 deletions(-) create mode 100644 drivers/media/video/v4l2-event.c create mode 100644 include/media/v4l2-event.h
drivers/media/video/Makefile +2 -1
@@ -10,7 +10,8 @@ stkwebcam-objs := stk-webcam.o stk-sensor.o omap2cam-objs := omap24xxcam.o omap24xxcam-dma.o -videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o +videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \ + v4l2-event.o # V4L2 core modules
drivers/media/video/v4l2-event.c new file +289 -0
289 lines not on this page · raw message
drivers/media/video/v4l2-fh.c +5 -1
@@ -25,6 +25,8 @@#include <linux/bitops.h> #include <media/v4l2-dev.h> #include <media/v4l2-fh.h> +#include <media/v4l2-event.h> +#include <media/v4l2-ioctl.h> int v4l2_fh_init (struct v4l2_fh *fh,struct video_device *vdev) {
@@ -32,7 +34,7 @@ int v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev)INIT_LIST_HEAD (&fh->list);set_bit (V4L2_FL_USES_V4L2_FH , &fh->vdev->flags); -return 0 ; +return v4l2_event_init (fh); }EXPORT_SYMBOL_GPL (v4l2_fh_init);
@@ -62,5 +64,7 @@ void v4l2_fh_exit(struct v4l2_fh *fh)return ; fh->vdev =NULL ; + +v4l2_event_free (fh); }EXPORT_SYMBOL_GPL (v4l2_fh_exit);
include/media/v4l2-event.h new file +67 -0
67 lines not on this page · raw message
include/media/v4l2-fh.h +2 -0
@@ -28,10 +28,12 @@#include <linux/list.h> struct video_device ; +struct v4l2_events ;struct v4l2_fh {struct list_head list;struct video_device *vdev; +struct v4l2_events *events;/* events, pending and subscribed */ };int v4l2_fh_init (struct v4l2_fh *fh,struct video_device *vdev);
Signature · 1 line
1.5.6.5
Re: [PATCH v8 4/6] V4L: Events: Add backend
Quoted 4 lines · Sakari Ailus
Add event handling backend to V4L2. The backend handles event subscription and delivery to file handles. Event subscriptions are based on file handle. Events may be delivered to all subscribed file handles on a device independent of where they originate from.
Hi,
Some style problems accidentally slipped into this one. I'm not resending the whole set, just the broken patch, now v8.1.
Signature · 2 lines
Sakari Ailus [email protected]
PATCH v8 4/6 V4L: Events: Add backend
In reply to Sakari AilusAdd event handling backend to V4L2. The backend handles event subscription and delivery to file handles. Event subscriptions are based on file handle. Events may be delivered to all subscribed file handles on a device independent of where they originate from.
--- drivers/media/video/Makefile | 3 +- drivers/media/video/v4l2-event.c | 289 ++++++++++++++++++++++++++++++++++++++ drivers/media/video/v4l2-fh.c | 6 +- include/media/v4l2-event.h | 67 +++++++++ include/media/v4l2-fh.h | 2 + 5 files changed, 365 insertions(+), 2 deletions(-) create mode 100644 drivers/media/video/v4l2-event.c create mode 100644 include/media/v4l2-event.h
drivers/media/video/Makefile +2 -1
@@ -10,7 +10,8 @@ stkwebcam-objs := stk-webcam.o stk-sensor.o omap2cam-objs := omap24xxcam.o omap24xxcam-dma.o -videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o +videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \ + v4l2-event.o # V4L2 core modules
drivers/media/video/v4l2-event.c new file +289 -0
289 lines not on this page · raw message
drivers/media/video/v4l2-fh.c +5 -1
@@ -25,6 +25,8 @@#include <linux/bitops.h> #include <media/v4l2-dev.h> #include <media/v4l2-fh.h> +#include <media/v4l2-event.h> +#include <media/v4l2-ioctl.h> int v4l2_fh_init (struct v4l2_fh *fh,struct video_device *vdev) {
@@ -32,7 +34,7 @@ int v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev)INIT_LIST_HEAD (&fh->list);set_bit (V4L2_FL_USES_V4L2_FH , &fh->vdev->flags); -return 0 ; +return v4l2_event_init (fh); }EXPORT_SYMBOL_GPL (v4l2_fh_init);
@@ -62,5 +64,7 @@ void v4l2_fh_exit(struct v4l2_fh *fh)return ; fh->vdev =NULL ; + +v4l2_event_free (fh); }EXPORT_SYMBOL_GPL (v4l2_fh_exit);
include/media/v4l2-event.h new file +67 -0
67 lines not on this page · raw message
include/media/v4l2-fh.h +2 -0
@@ -28,10 +28,12 @@#include <linux/list.h> struct video_device ; +struct v4l2_events ;struct v4l2_fh {struct list_head list;struct video_device *vdev; +struct v4l2_events *events;/* events, pending and subscribed */ };int v4l2_fh_init (struct v4l2_fh *fh,struct video_device *vdev);
Signature · 1 line
1.5.6.5
PATCH v8 5/6 V4L: Events: Support event handling in do_ioctl
In reply to Sakari AilusAdd support for event handling to do_ioctl.
--- drivers/media/video/v4l2-fh.c | 11 +++++++- drivers/media/video/v4l2-ioctl.c | 50 ++++++++++++++++++++++++++++++++++++++ include/media/v4l2-ioctl.h | 7 +++++ 3 files changed, 67 insertions(+), 1 deletions(-)
drivers/media/video/v4l2-fh.c +10 -1
@@ -34,7 +34,16 @@ int v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev)INIT_LIST_HEAD (&fh->list);set_bit (V4L2_FL_USES_V4L2_FH , &fh->vdev->flags); -return v4l2_event_init (fh); +/* +* fh->events only needs to be initialized if the driver +* supports the VIDIOC_SUBSCRIBE_EVENT ioctl. +*/ +if (vdev->ioctl_ops && vdev->ioctl_ops->vidioc_subscribe_event) +return v4l2_event_init (fh); +else + fh->events =NULL ; + +return 0 ; }EXPORT_SYMBOL_GPL (v4l2_fh_init);
drivers/media/video/v4l2-ioctl.c +50 -0
63 lines not on this page · raw message
include/media/v4l2-ioctl.h +7 -0
@@ -21,6 +21,8 @@#include <linux/videodev2.h> #endif +struct v4l2_fh ; +struct v4l2_ioctl_ops {/* ioctl callbacks */
@@ -254,6 +256,11 @@ struct v4l2_ioctl_ops {int (*vidioc_g_dv_timings) (struct file *file,void *fh,struct v4l2_dv_timings *timings); +int (*vidioc_subscribe_event) (struct v4l2_fh *fh, +struct v4l2_event_subscription *sub); +int (*vidioc_unsubscribe_event)(struct v4l2_fh *fh, +struct v4l2_event_subscription *sub); +/* For other private ioctls */ long (*vidioc_default) (struct file *file,void *fh,int cmd,void *arg);
Signature · 1 line
1.5.6.5
PATCH v8 6/6 V4L: Events: Add documentation
In reply to Sakari AilusAdd documentation on how to use V4L2 events, both for V4L2 drivers and for V4L2 applications.
--- Documentation/DocBook/media-entities.tmpl | 9 ++ Documentation/DocBook/v4l/dev-event.xml | 31 +++++ Documentation/DocBook/v4l/v4l2.xml | 3 + Documentation/DocBook/v4l/vidioc-dqevent.xml | 124 ++++++++++++++++++++ .../DocBook/v4l/vidioc-subscribe-event.xml | 104 ++++++++++++++++ Documentation/video4linux/v4l2-framework.txt | 60 ++++++++++ 6 files changed, 331 insertions(+), 0 deletions(-) create mode 100644 Documentation/DocBook/v4l/dev-event.xml create mode 100644 Documentation/DocBook/v4l/vidioc-dqevent.xml create mode 100644 Documentation/DocBook/v4l/vidioc-subscribe-event.xml
Documentation/DocBook/media-entities.tmpl +9 -0
@@ -17,6 +17,7 @@ <!ENTITY VIDIOC-DBG-G-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_G_REGISTER</constant></link>"> <!ENTITY VIDIOC-DBG-S-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_S_REGISTER</constant></link>"> <!ENTITY VIDIOC-DQBUF "<link linkend='vidioc-qbuf'><constant>VIDIOC_DQBUF</constant></link>"> +<!ENTITY VIDIOC-DQEVENT "<link linkend='vidioc-dqevent'><constant>VIDIOC_DQEVENT</constant></link>"> <!ENTITY VIDIOC-ENCODER-CMD "<link linkend='vidioc-encoder-cmd'><constant>VIDIOC_ENCODER_CMD</constant></link>"> <!ENTITY VIDIOC-ENUMAUDIO "<link linkend='vidioc-enumaudio'><constant>VIDIOC_ENUMAUDIO</constant></link>"> <!ENTITY VIDIOC-ENUMAUDOUT "<link linkend='vidioc-enumaudioout'><constant>VIDIOC_ENUMAUDOUT</constant></link>">
@@ -60,6 +61,7 @@ <!ENTITY VIDIOC-REQBUFS "<link linkend='vidioc-reqbufs'><constant>VIDIOC_REQBUFS</constant></link>"> <!ENTITY VIDIOC-STREAMOFF "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMOFF</constant></link>"> <!ENTITY VIDIOC-STREAMON "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMON</constant></link>"> +<!ENTITY VIDIOC-SUBSCRIBE-EVENT "<link linkend='vidioc-subscribe-event'><constant>VIDIOC_SUBSCRIBE_EVENT</constant></link>"> <!ENTITY VIDIOC-S-AUDIO "<link linkend='vidioc-g-audio'><constant>VIDIOC_S_AUDIO</constant></link>"> <!ENTITY VIDIOC-S-AUDOUT "<link linkend='vidioc-g-audioout'><constant>VIDIOC_S_AUDOUT</constant></link>"> <!ENTITY VIDIOC-S-CROP "<link linkend='vidioc-g-crop'><constant>VIDIOC_S_CROP</constant></link>">
@@ -141,6 +143,8 @@ <!ENTITY v4l2-enc-idx "struct <link linkend='v4l2-enc-idx'>v4l2_enc_idx</link>"> <!ENTITY v4l2-enc-idx-entry "struct <link linkend='v4l2-enc-idx-entry'>v4l2_enc_idx_entry</link>"> <!ENTITY v4l2-encoder-cmd "struct <link linkend='v4l2-encoder-cmd'>v4l2_encoder_cmd</link>"> +<!ENTITY v4l2-event "struct <link linkend='v4l2-event'>v4l2_event</link>"> +<!ENTITY v4l2-event-subscription "struct <link linkend='v4l2-event-subscription'>v4l2_event_subscription</link>"> <!ENTITY v4l2-ext-control "struct <link linkend='v4l2-ext-control'>v4l2_ext_control</link>"> <!ENTITY v4l2-ext-controls "struct <link linkend='v4l2-ext-controls'>v4l2_ext_controls</link>"> <!ENTITY v4l2-fmtdesc "struct <link linkend='v4l2-fmtdesc'>v4l2_fmtdesc</link>">
@@ -200,6 +204,7 @@ <!ENTITY sub-controls SYSTEM "v4l/controls.xml"> <!ENTITY sub-dev-capture SYSTEM "v4l/dev-capture.xml"> <!ENTITY sub-dev-codec SYSTEM "v4l/dev-codec.xml"> +<!ENTITY sub-dev-event SYSTEM "v4l/dev-event.xml"> <!ENTITY sub-dev-effect SYSTEM "v4l/dev-effect.xml"> <!ENTITY sub-dev-osd SYSTEM "v4l/dev-osd.xml"> <!ENTITY sub-dev-output SYSTEM "v4l/dev-output.xml">
@@ -292,6 +297,8 @@ <!ENTITY sub-v4l2grab-c SYSTEM "v4l/v4l2grab.c.xml"> <!ENTITY sub-videodev2-h SYSTEM "v4l/videodev2.h.xml"> <!ENTITY sub-v4l2 SYSTEM "v4l/v4l2.xml"> +<!ENTITY sub-dqevent SYSTEM "v4l/vidioc-dqevent.xml"> +<!ENTITY sub-subscribe-event SYSTEM "v4l/vidioc-subscribe-event.xml"> <!ENTITY sub-intro SYSTEM "dvb/intro.xml"> <!ENTITY sub-frontend SYSTEM "dvb/frontend.xml"> <!ENTITY sub-dvbproperty SYSTEM "dvb/dvbproperty.xml">
@@ -381,3 +388,5 @@ <!ENTITY reqbufs SYSTEM "v4l/vidioc-reqbufs.xml"> <!ENTITY s-hw-freq-seek SYSTEM "v4l/vidioc-s-hw-freq-seek.xml"> <!ENTITY streamon SYSTEM "v4l/vidioc-streamon.xml"> +<!ENTITY dqevent SYSTEM "v4l/vidioc-dqevent.xml"> +<!ENTITY subscribe_event SYSTEM "v4l/vidioc-subscribe-event.xml">
Documentation/DocBook/v4l/dev-event.xml new file +31 -0
@@ -0,0 +1,31 @@ + <title>Event Interface</title> + + <para>The V4L2 event interface provides means for user to get + immediately notified on certain conditions taking place on a device. + This might include start of frame or loss of signal events, for + example. + </para> + + <para>To receive events, the events the user is interested in first must + be subscribed using the &VIDIOC-SUBSCRIBE-EVENT; ioctl. Once an event is + subscribed, the events of subscribed types are dequeueable using the + &VIDIOC-DQEVENT; ioctl. Events may be unsubscribed using + VIDIOC_UNSUBSCRIBE_EVENT ioctl. The special event type V4L2_EVENT_ALL may + be used to unsubscribe all the events the driver supports.</para> + + <para>The event subscriptions and event queues are specific to file + handles. Subscribing an event on one file handle does not affect + other file handles. + </para> + + <para>The information on dequeueable events is obtained by using select or + poll system calls on video devices. The V4L2 events use POLLPRI events on + poll system call and exceptions on select system call. </para> + + <!-- +Local Variables: +mode: sgml +sgml-parent-document: "v4l2.sgml" +indent-tabs-mode: nil +End: + -->
Documentation/DocBook/v4l/v4l2.xml +3 -0
@@ -401,6 +401,7 @@ and discussions on the V4L mailing list.</revremark> <section id="ttx"> &sub-dev-teletext; </section> <section id="radio"> &sub-dev-radio; </section> <section id="rds"> &sub-dev-rds; </section> + <section id="event"> &sub-dev-event; </section> </chapter> <chapter id="driver">
@@ -426,6 +427,7 @@ and discussions on the V4L mailing list.</revremark> &sub-cropcap; &sub-dbg-g-chip-ident; &sub-dbg-g-register; + &sub-dqevent; &sub-encoder-cmd; &sub-enumaudio; &sub-enumaudioout;
@@ -467,6 +469,7 @@ and discussions on the V4L mailing list.</revremark> &sub-reqbufs; &sub-s-hw-freq-seek; &sub-streamon; + &sub-subscribe-event; <!-- End of ioctls. --> &sub-mmap; &sub-munmap;
Documentation/DocBook/v4l/vidioc-dqevent.xml new file +124 -0
124 lines not on this page · raw message
Documentation/DocBook/v4l/vidioc-subscribe-event.xml new file +104 -0
104 lines not on this page · raw message
Documentation/video4linux/v4l2-framework.txt +60 -0
63 lines not on this page · raw message
Signature · 1 line
1.5.6.5
V4L2 file handle and event patches
In reply to Sakari AilusQuoted 9 lines · Sakari Ailus
Hi,
Here's the tenth version of the V4L2 file handle and event interface patchset.
The patchset has been tested with the OMAP 3 ISP driver. Patches for OMAP 3 ISP are not part of this patchset but are available in Gitorious (branch is called event):
Quoted 5 lines
git://gitorious.org/omap3camera/mainline.giteventThe patchset I'm posting now is against the v4l-dvb tree instead of linux-omap. The omap3camera tree thus has a slightly different version of these patches (just Makefiles) due to different baselines.
Hi Mauro,
What is your opinion on the file handle and event patchset? Could we get them integrated for 2.6.34? Hans Verkuil as well as many others have no more comments on them.
The patchset in question is v8.
Sincerely,
Signature · 2 lines
Sakari Ailus [email protected]
Sakari,
As usual, I'm marking those patches as RFC. Please add them on some tree and ask me to pull from it, when you think that event interface is ready for upstream merge.
Cheers,
Mauro.
Quoted 22 lines · Sakari Ailus
Hi,
Here's the tenth version of the V4L2 file handle and event interface patchset.
The patchset has been tested with the OMAP 3 ISP driver. Patches for OMAP 3 ISP are not part of this patchset but are available in Gitorious (branch is called event):
git://gitorious.org/omap3camera/mainline.giteventThe patchset I'm posting now is against the v4l-dvb tree instead of linux-omap. The omap3camera tree thus has a slightly different version of these patches (just Makefiles) due to different baselines.
Some more comments from Hans and Randy. There are only improvements in documentation this time.
Comments are welcome as always.
Cheers,
Signature · 2 lines
Cheers, Mauro