> > > > > > > www.linux-projects.org hosts the drivers for a bunch of chip
> > > > > > > specific drivers :)
> > > > > > >
> > > > > > > http://www.linux-projects.org/modules/mydownloads/
> > > > > >
> > > > > > As far as I know, there is currently no Linux driver for the
> > > > > > sn9c20x chips. Michel Xhaard might be working on it, you could
> > > > > > try to contact him.
> > > > >
> > > > > I Will start to write a driver for the 20x series as well.
> > > >
> > > > Is there any technical reason to duplicate the effort ?
> > >
> > > If I am not wrong,
> >
> > You are wrong here.The new design (gspca) is split with two branchs one
> > for v4l1 the other one for v4l2.
>
> From the user point of view, I do not see any real advantages in having a
> single bloated driver _collecting_ (not abstracting) code specific to every
> chipset rather than having one thin driver per chipset.

>From the end-user point of view, the only thing that matters is having a 
stable driver for his hardware. By sharing code between similar drivers, 
development time will be reduced, and fewer bugs will be introduced.

> On the contrary, from the developer point of view, the lack of
> documentation, the features and the internal differences between the chips
> are substantial and specific enough to justify clean and separate drivers,
> even considering that the design and core part are basically identical.

I'm not advocating a single driver for all webcams. It only makes sense when 
webcams share similar features. Many webcams use a USB bridge that relays I2C 
commands from the host and handles video streaming. Having common code makes 
sense there, with small bridge-specific and sensor-specific kernels modules 
that would plug into a core driver.

> This makes the code easier to debug - and it's probably one of the most
> important aspects to consider in kernel development.
> But the main question is why you don't profit by the V4L2 drivers
> already present in the kernel instead of porting them from V4l1 and having
> them outside the kernel? The core part of the drivers is really stable.
> This would let you focus on particular features or add support for more
> hardware.

I can't answer for Michel here, but when I started developing the Linux UVC 
driver, I decided to start from scratch instead of reusing current code from 
kernel drivers. The code was just not clean enough.

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to