Hi Mauro, This pull requests sits on top of my previous pull request: http://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg32762.html This core9 branch contains the same patches as the earlier core8, so if you want you can also pull everything from the core9 branch. The patches in this pull request are almost the same as these: http://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg33054.html The two changes are the addition of documentation (both DocBook and v4l2-framework.txt) and patch 4 in the link above: instead of one single merge() callback it is now split into a replace() callback and a merge() callback. When I was documenting the original merge() callback I realized that it really had to be split into two callbacks or it would be too confusing. It's been tested extensively with ivtv and vivi. I've added support for waiting/polling on the control event to v4l2-ctl: http://git.linuxtv.org/hverkuil/v4l-utils.git?a=shortlog;h=refs/heads/core The first four and the last three patches deal with a change in the event handling, adding guarantees to the framework what should be done when the internal event queues become full and events need to be dropped. It's much more useful now. The four v4l2-ctrls patches improve the internal datastructures and reduce the time spent with a lock held. In particular it gets rid of a potential quadratic algorithm, replacing it with a linear one (and making the code shorter as well). It is the first important step towards allowing certain types of controls to be set from interrupt context. Regards, Hans The following changes since commit a07d17c00db2cff623aea8113d6cfd181baf86a1: v4l2-compat-ioctl32: add VIDIOC_DQEVENT support. (2011-06-10 10:57:27 +0200) are available in the git repository at: ssh://linuxtv.org/git/hverkuil/media_tree.git core9 Hans Verkuil (11): v4l2-events/fh: merge v4l2_events into v4l2_fh v4l2-ctrls/event: remove struct v4l2_ctrl_fh, instead use v4l2_subscribed_event v4l2-event/ctrls/fh: allocate events per fh and per type instead of just per-fh v4l2-event: add optional merge and replace callbacks v4l2-ctrls: don't initially set CH_VALUE for write-only controls v4l2-ctrls: improve discovery of controls of the same cluster v4l2-ctrls: split try_or_set_ext_ctrls() v4l2-ctrls: v4l2_ctrl_handler_setup code simplification v4l2-framework.txt: updated v4l2_fh_init documentation. v4l2-framework.txt: update v4l2_event section. DocBook: update V4L Event Interface section. Documentation/DocBook/media/v4l/dev-event.xml | 30 ++- .../DocBook/media/v4l/vidioc-subscribe-event.xml | 15 +- Documentation/video4linux/v4l2-framework.txt | 59 ++- drivers/media/video/ivtv/ivtv-fileops.c | 10 +- drivers/media/video/ivtv/ivtv-ioctl.c | 4 +- drivers/media/video/omap3isp/ispccdc.c | 3 +- drivers/media/video/omap3isp/ispstat.c | 3 +- drivers/media/video/v4l2-ctrls.c | 416 +++++++++----------- drivers/media/video/v4l2-event.c | 218 ++++------ drivers/media/video/v4l2-fh.c | 19 +- drivers/media/video/v4l2-subdev.c | 17 +- drivers/media/video/vivi.c | 4 +- drivers/usb/gadget/uvc_v4l2.c | 22 +- include/media/v4l2-ctrls.h | 39 +-- include/media/v4l2-event.h | 44 ++- include/media/v4l2-fh.h | 11 +- include/media/v4l2-subdev.h | 2 - 17 files changed, 417 insertions(+), 499 deletions(-) -- 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