Hi Charlie, On Tuesday 15 April 2008, Charlie Wyse wrote: > Greetings, > > I'm working with RedHat to get the uvcvideo module in the kernel. We are > having some success with RHEL4.4 - RHEL5.1 However with the new kernel > in RHEL5.2 Currently around 2.6.18-86 and counting I am running into a > usb_endpoint issue. There seems to be a conflict with the > /include/linux/usb.h file in the kernel devel. I guess my question is > simply, is this an issue I should report to the kernel maintainers as a > conflict with use of the usb_endpoints. Or is this something uvcvideo > should take into account with newer kernels in RHEL? > > Building USB Video Class driver... > make[1]: Entering directory `/usr/src/kernels/2.6.18-86.el5-xen-x86_64' > CC [M] /home/cwyse/UVC/uvc_driver.o > In file included from /home/cwyse/UVC/uvcvideo.h:8, > from /home/cwyse/UVC/uvc_driver.c:45: > /home/cwyse/UVC/uvc_compat.h:265: error: redefinition of > ‘usb_endpoint_dir_in’ > include/linux/usb.h:474: error: previous definition of > ‘usb_endpoint_dir_in’ was here > /home/cwyse/UVC/uvc_compat.h:270: error: redefinition of > ‘usb_endpoint_xfer_int’ > include/linux/usb.h:521: error: previous definition of > ‘usb_endpoint_xfer_int’ was here > /home/cwyse/UVC/uvc_compat.h:276: error: redefinition of > ‘usb_endpoint_xfer_isoc’ > include/linux/usb.h:534: error: previous definition of > ‘usb_endpoint_xfer_isoc’ was here > /home/cwyse/UVC/uvc_compat.h:282: error: redefinition of > ‘usb_endpoint_xfer_bulk’ > include/linux/usb.h:496: error: previous definition of > ‘usb_endpoint_xfer_bulk’ was here > /home/cwyse/UVC/uvc_compat.h:288: error: redefinition of > ‘usb_endpoint_is_int_in’ > include/linux/usb.h:571: error: previous definition of > ‘usb_endpoint_is_int_in’ was here > make[2]: *** [/home/cwyse/UVC/uvc_driver.o] Error 1 > make[1]: *** [_module_/home/cwyse/UVC] Error 2 > make[1]: Leaving directory `/usr/src/kernels/2.6.18-86.el5-xen-x86_64' > make: *** [uvcvideo] Error 2
To make the Linux UVC driver compilable against all kernel versions starting at 2.6.15, the source code uses conditional compilation directives based on the kernel version number. RHEL ships patched kernels with new features without incrementing the version number. The uvcvideo driver gets confused and won't compile. To fix this, you should edit uvc_compat.h and remove redundant function/variables/macros definitions. Best regards, Laurent Pinchart _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
