Hi Darren, thanks for taking the time to provide feedback.
On Wednesday 15 October 2008, Darren Longhorn wrote: > Laurent Pinchart wrote: > > <snip> > > > linux-tv.org Mercurial trees contain a copy of the whole v4l/dvb > > subsystem. The main implication would be that, to use the latest uvcvideo > > driver instead of the one shipped with your kernel, you will have to > > install the v4l core module from the Mercurial tree along with the > > uvcvideo module, instead of the uvcvideo module only as you do now. > > Could you expand on why the v4l core module would also be required? Mercurial trees host a copy of the whole v4l/dvb subsystem. The v4l/dvb core is source compatible with all Linux kernels from 2.6.16 up. The device drivers maintain backward source compatibility as well, but the first Linux kernel version they are compatible with depends on the individual drivers' developers. As a v4l/dvb tree host a backward compatible copy of the v4l core source, drivers don't have to care about backward compatibility with older versions of the v4l/dvb APIs. For the uvcvideo driver this would mean I can drop an important part of the compatibility code as the driver will only have to support the latest v4l/dvb API. To use the driver with older kernels you would then have to use the v4l/dvb core moduels as well, as the driver itself doesn't maintain backward compability with previous versions of the v4l/dvb core. > > I would expect the number of SVN checkouts to have dropped over the last > > 3 monts, but Berlios doesn't provide such statistics. I'm thus asking > > your opinion : should I switch the Linux UVC driver to a Mercurial tree ? > > > > Pros: > > - The driver will be hosted along most other video-related kernel > > projects - An important part of the compatibility code (uvc_compat.h and > > various #ifdef's around the source) can be dropped, as the source tree > > contains the latest v4l core source. > > That answers my questions above, I think? I think that would be a con > for those of use who backport to older kernels. Backporting will still work, but you will have to backport the v4l/dvb core as well. Do you really mean backporting (thus on kernels older than 2.6.15, as the uvcvideo driver supports 2.6.15+ kernels already), or were you referring to using the driver with a 2.6.15+ kernel ? In the later case the switch to Mercurial would drop compatibility with 2.6.15 but 2.6.16 and above should work. > <snip> > > > What's your opinion ? Is someone strongly opposed to the switch ? If so > > please state your reasons. All constructive opinions are welcome. > > I guess I would be opposed for teh reson above, but I'm probably a very > small minority! Your opinion in nonetheless important. Maintaining backward compatibility in the uvcvideo driver itself wasn't that much of a burden until now, but changes in the v4l core queued for 2.6.28 would introduced a whole new set of #ifdef's all around the driver. The code would become messy and I'd like to avoid that if possible. Hence the idea of switching to Mercurial. Best regards, Laurent Pinchart _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
