Hi, I second Tom's proposal. Re events I think this need not be limited to channel changes. I once jokingly commented the proposed mechanism comes close to streaming events (cf. streaming mmap'ed buffers w/DQBUF). Actually I like the thought of events being the data format of panel fd's. Accordingly we could have a V4L2_BUF_TYPE_EVENT and extend struct v4l2_format to set up the event mechanism. This would replace S_CHNEVENT, add an ioctl to query the current event mask (G_FMT) and the notorious write-modify semantics to determine which event types are supported by the driver. Marginally related it turned out a vbi proxy must recognize video and vbi device names referring to the same physical device. Tom proposed an instance number in struct v4l2_capability. However we have a bus_info field there meant to help users distinguish otherwise identical devices. As explained in the spec this information is currently optional. The spec could require a unique bus_info, if only enumerating devices when the driver has no other information. Improves the experience of both users and vbi proxies. Here's the bttv patch: Zilch - the field is already properly initialized. Michael