I had missing variables when I tried to load video-buf module too - perhaps not the same reason as you though. I am using a FlyVideo3000 with the saa7134 module. I had to change all the occurances of EXPORT_SYMBOL_GPL macro to the EXPORT_SYMBOL macro to get the module to load. Not sure what difference the GPL macro does but on my kernel (no version numbers) it won't link! I enclose a diff if you care to try this. After this it loaded fine. My current problems are: - A hang when I try to capture anything - Some how now xawtv gets sound but only black screen (or green with capture is set to grabdisplay) xawtv use to display the video perfectly - now I am worried I have some how broken the card. I need to read more about it's settings... Any help appreciated. Andrew ----------------- --- /scratch/build/v4l2/saa7134-0.1.6/video-buf.c_orig Wed May 29 13:39:01 2002 +++ /scratch/build/v4l2/saa7134-0.1.6/video-buf.c Wed May 29 13:39:24 2002 @@ -973,42 +973,42 @@ /* --------------------------------------------------------------------- */ -EXPORT_SYMBOL_GPL(videobuf_vmalloc_to_sg); -EXPORT_SYMBOL_GPL(videobuf_iobuf_to_sg); +EXPORT_SYMBOL(videobuf_vmalloc_to_sg); +EXPORT_SYMBOL(videobuf_iobuf_to_sg); -EXPORT_SYMBOL_GPL(videobuf_dma_init_user); -EXPORT_SYMBOL_GPL(videobuf_dma_init_kernel); -EXPORT_SYMBOL_GPL(videobuf_dma_pci_map); -EXPORT_SYMBOL_GPL(videobuf_dma_pci_sync); -EXPORT_SYMBOL_GPL(videobuf_dma_pci_unmap); -EXPORT_SYMBOL_GPL(videobuf_dma_free); - -EXPORT_SYMBOL_GPL(videobuf_alloc); -EXPORT_SYMBOL_GPL(videobuf_waiton); -EXPORT_SYMBOL_GPL(videobuf_iolock); +EXPORT_SYMBOL(videobuf_dma_init_user); +EXPORT_SYMBOL(videobuf_dma_init_kernel); +EXPORT_SYMBOL(videobuf_dma_pci_map); +EXPORT_SYMBOL(videobuf_dma_pci_sync); +EXPORT_SYMBOL(videobuf_dma_pci_unmap); +EXPORT_SYMBOL(videobuf_dma_free); + +EXPORT_SYMBOL(videobuf_alloc); +EXPORT_SYMBOL(videobuf_waiton); +EXPORT_SYMBOL(videobuf_iolock); -EXPORT_SYMBOL_GPL(videobuf_queue_init); -EXPORT_SYMBOL_GPL(videobuf_queue_cancel); +EXPORT_SYMBOL(videobuf_queue_init); +EXPORT_SYMBOL(videobuf_queue_cancel); #ifdef HAVE_V4L2 -EXPORT_SYMBOL_GPL(videobuf_status); -EXPORT_SYMBOL_GPL(videobuf_reqbufs); -EXPORT_SYMBOL_GPL(videobuf_querybuf); -EXPORT_SYMBOL_GPL(videobuf_qbuf); -EXPORT_SYMBOL_GPL(videobuf_dqbuf); +EXPORT_SYMBOL(videobuf_status); +EXPORT_SYMBOL(videobuf_reqbufs); +EXPORT_SYMBOL(videobuf_querybuf); +EXPORT_SYMBOL(videobuf_qbuf); +EXPORT_SYMBOL(videobuf_dqbuf); #endif -EXPORT_SYMBOL_GPL(videobuf_streamon); -EXPORT_SYMBOL_GPL(videobuf_streamoff); +EXPORT_SYMBOL(videobuf_streamon); +EXPORT_SYMBOL(videobuf_streamoff); -EXPORT_SYMBOL_GPL(videobuf_read_start); -EXPORT_SYMBOL_GPL(videobuf_read_stop); -EXPORT_SYMBOL_GPL(videobuf_read_stream); -EXPORT_SYMBOL_GPL(videobuf_read_one); -EXPORT_SYMBOL_GPL(videobuf_poll_stream); - -EXPORT_SYMBOL_GPL(videobuf_mmap_setup); -EXPORT_SYMBOL_GPL(videobuf_mmap_free); -EXPORT_SYMBOL_GPL(videobuf_mmap_mapper); +EXPORT_SYMBOL(videobuf_read_start); +EXPORT_SYMBOL(videobuf_read_stop); +EXPORT_SYMBOL(videobuf_read_stream); +EXPORT_SYMBOL(videobuf_read_one); +EXPORT_SYMBOL(videobuf_poll_stream); + +EXPORT_SYMBOL(videobuf_mmap_setup); +EXPORT_SYMBOL(videobuf_mmap_free); +EXPORT_SYMBOL(videobuf_mmap_mapper); /* * Local variables: