Hi Darren, On Wednesday 16 April 2008, Darren Longhorn wrote: > Hi Laurent, > > Laurent Pinchart wrote: > > 2.6.10 is indeed quite old, and definitely unsupported by the Linux UVC > > driver. You might be able to make it work, but I can't guarantee > > anything. > > OK, I'll try and make it work. I understand when you say such an old > kernel is unsupported, but I will continue to ask questions as I address > problems if I may.
Sure, no problem. > >> The first problem appears to be that I have another definition of > >> kzalloc, so I guess I could just remove the one in uvc_driver.c ? > > > > This is strange, as kzalloc has been introduced in 2.6.14. Are you using > > a patched version of the 2.6.10 kernel ? > > Yes, I am. It's the Texas Instruments version of the Monta Visyta > distribution. I have previoulsy had a patched version of uvc svn 148 > that worked with one web cam, but I have had little success with others. > I want to try and move to the latest svn to be able to support a better > range of cameras. > > > If the kzalloc implementation in your kernel sources is compatible with > > what the Linux UVC driver expects it should be safe to remove it from > > uvc_compat.h. > > It looks like that is the case. > > My next issue was that back in 2.6.10 'struct usb_device' defined in > linux/usb.h does not have a field named 'product'. It seemed harmless to > me to simply remove the use of that field. usb_device.product is a string filled by USB core with the product name as retrieved from the device. You can leave it out if you don't care about the product name returned by the device. > The final issue I saw in uvc_driver.c is unknown type for pm_message_t > used as a parameter in uvc_suspend(). As the parameter isn't used I just > #defined it as u32. You should instead look at your kernel sources, check what parameters the uvc_suspend function expects, and modify it accordingly. > So now I have moced on to uvc_status.c where I get the following errors: > > [EMAIL PROTECTED]:~/fp/ext/lib/driver/linux/webcam/uvc$ make > CROSS_COMPILE=arm_v5t_le- uvcvideo > Building USB Video Class driver... > make[1]: Entering directory > `/home/guest/fp/ext/lib/kernel/linux/montavista/lsp/ti-davinci' > CC [M] /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_driver.o > CC [M] /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.o > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c:19:29: > linux/usb_input.h: No such file or directory > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c: In function > `uvc_input_init': > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c:36: warning: > implicit declaration of function `input_allocate_device' > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c:36: warning: > assignment makes pointer from integer without a cast > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c:50: warning: > implicit declaration of function `usb_to_input_id' > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c:54: error: > structure has no member named `cdev' > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c:60: error: > void value not ignored as it ought to be > /home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.c:67: warning: > implicit declaration of function `input_free_device' > make[2]: *** > [/home/guest/fp/ext/lib/driver/linux/webcam/uvc/uvc_status.o] Error 1 > make[1]: *** [_module_/home/guest/fp/ext/lib/driver/linux/webcam/uvc] > Error 2 > make[1]: Leaving directory > `/home/guest/fp/ext/lib/kernel/linux/montavista/lsp/ti-davinci' > make: *** [uvcvideo] Error 2 > > I have neither <linux/usb_input.h> nor implementations of > input_allocate_device(), usb_to_input() or input_free_device(). What is > the purpose of these functions and do you think it would be posible to > provide local implementations? The input layer is used to report button events to userspace. If you don't care about camera buttons you can remove uvc_status.c completely. Cheers, Laurent Pinchart _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
