> I'd like to ask for the inclusion of the W996[87]CF driver into the > official Linux kernel 2.5. It relies on the I2C, USB, V4L1 core modules > of the kernel and an external module, currently named "ovsensor.o", > which will be included in Linux 2.5 in the near future. There are some oddments that I'd move into headers, you have a macro funny (don't use {;} for a null macro use do {;} while(0) [weird and wonderous C trick to get if/else right 8)) Bugwise: You can't use floats in the kernel cf_open doesn't handle O_NDELAY. If O_NDELAY is in the file flags you should try the lock without sleeping and return -EWOULDBLOCK otherwise (see audio drivers for an example) I also don't understand what stops the following going wrong open fork thread 1 - read image thread 2 - change picture size Other bits: For things that really can't happen we normally use BUG(). DBG(2, "Device rejected: too many simoultaneous cameras.") (simultaneous -typo - no big deal just I noticed it) Overall looks basically sound. I think I'd dump the module param maze for ioctls and make that a per camera struct so you can alloc it dynamically but thats for later