Web lists-archives.com

Re: [Spca50x-devs] Self Introduction: Hans de Goede




Hans de Goede wrote:
> Hi All,
> 
> I'm a Linux enthusiast / developer. Lately I'm mainly active doing development 
> for Fedora and writing kernel drivers (and as my day job I'm a lecturer in 
> Computer Science).

Me to :-)

> 
> Fedora has a policy of not shipping a heavily patched kernel, but instead tries 
> to work with upstream to get any needed patches integrated. This policy extends 
> to not shipping any addon drivers, but rather working to get drivers integrated 
> upstream.
> 
> As such I've decided to start spending my spare time on getting more and better 
> usb webcam support integrated upstream (for non usb video class devices). I 
> wanted to have something to show, so I've gone to the store, bought a couple of 
> webcams and started hacking and learning.

As far as I know, heavy data processing like decoding jpeg or decoding the 
compression format of PAC207 is not allowed in kernel space. So, I am not sure 
if you can get this upstream?

> 
> 2 days ago I have finished my first pretty clean, standalone v4l2 webcam driver 
> for Pixart pac207 webcams.

Nice to see :-). It is on my todo list. Now, I can skip it ;-)

> 
> In the beginning I modelled this driver after the zc301 and sn9c102 driver 
> which are currently already in the mainline kernel, using the memory management 
> and other structure from these drivers and filling in the hardware dependent 
> parts with the pac207 code from the out of tree gpsca driver.
> 
> During the development I kept the buffer management from the zc301 driver, but 
> modelled the rest of the driver more and more after gspca. For example don't 
> start the iso stream on device open and throw away iso packets received before 
> the stream-on ioctl, but instead start and stop the stream as needed.
> 
> This has resulted in what I consider a nice and clean pac207 driver. But when I 
> finished it I noticed that a lot of code in their was generic code for any 
> simple usb webcam.

That's true.

> 
> Since I plan to write standalone v4l2 drivers for mainline inclusion for other 
> simple usb webcams I spend the last 2 days splitting the code of my pac207 
> driver into a generic usbvideo2 core (the kernel already has usbvideo, which 
> has a number of v4l1 drivers) and a camera specific pac207 driver which builds 
> on top of the usbvideo2 core.
> 
> So I've ended up with a model very much like gspca, but then not one large 
> monolithic kernel module, but a more modular design with an core kernel module 
> with (hopefully) generic code for simple usb webcam's, and a per usb controller 
> chip type specific module (currently only one for pac207 controllers), and 
> ofcourse very important this is code for v4l2 drivers, whereas the current 
> gspca is v4l1.
> 
> I just recently (today) learned that there is work underway to make a v4l2 
> version of gspca by Jean-François Moine: http://moinejf.free.fr/ ), I hope that 
> we can work together somehow on getting support for all the webcam's supported 
> in gscpa integrated into the mainline kernel with a v4l2 interface.

It looks like you both a working on the same thing, separated. I think yours and 
  Jean-François idea is the right way to go (thumps up). Work together.

> 
> I'll be sending 2 seperate mails one with my standalone pac207 driver, and one 
> with the usbvideo2 core and a pac207 driver using this core, I'll include 
> Makefiles for out of tree building with both of them so that interested people 
> can test them.
> 
> I'm currently posting these as .c files for easy reading and compilation / 
> testing, but I still hope to get a lot of feedback / a thorough review, esp of 
> the core <-> pac207 split version as I hope to submit that as a patch for 
> mainline inclusion soon.

As soon as I have time I will start to test.

Some  weekends ago, I was trying to test Jean-François driver but I got a lot of 
difficult because of my setup and finally faulty hardware :-( I am still working 
on recover my faulty hardware.....

> 
> Thanks & Regards,
> 
> Hans

Thomas

PS: I initial started the PAC207 support for gspca. If you have any specific 
question about PAC207, don't hesitate to contact me.


-- 
http://www.kaiser-linux.li

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Spca50x-devs mailing list
Spca50x-devs@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/spca50x-devs