From CourvilleWiki
How to make the CLEXF40016 binary driver from via (with MPEG support 8-) work with another kernel than the one originally planned:
- perform a insmod ./videodev.o and identify the symbols that are not correct.
- search for the good ones in /proc/ksyms and replace them using objcopy by issuing for example:
objcopy --redefine-sym create_proc_entry_R9e6e93f4=create_proc_entry_R97b46a1c videodev.o
objcopy --redefine-sym create_proc_entry_R9e6e93f4=create_proc_entry_R97b46a1c videodev.o
objcopy --redefine-sym remove_proc_entry_R07e14880=remove_proc_entry_R6fc0288c videodev.o
objcopy --redefine-sym register_chrdev_R08f4878a=register_chrdev_Rbfc3a9fd videodev.o
objcopy --redefine-sym no_llseek_Rc412f664=no_llseek_R654213f7 videodev.o
objcopy --redefine-sym proc_root_R8252fa75=proc_root_R63d313d7 videodev.o
objcopy --redefine-sym pci_unregister_driver_R6387cfd3=pci_unregister_driver_R26713b86 via_v4l_drv.o
objcopy --redefine-sym pci_register_driver_R9e6cd8b6=pci_register_driver_R465aa46c via_v4l_drv.o
objcopy --redefine-sym pci_enable_device_Rbd4d327a=pci_enable_device_R944b5e42 via_v4l_drv.o
objcopy --redefine-sym pci_read_config_byte_Rbf8abee6=pci_read_config_byte_R3bd38f74 via_v4l_drv.o
objcopy --redefine-sym pci_set_master_R1fb64c17=pci_set_master_R87a01918 via_v4l_drv.o
objcopy --redefine-sym video_unregister_device_R3968f68b=video_unregister_device_R45b48668 bttv.o
objcopy --redefine-sym video_register_device_R2e63c235=video_register_device_R7bd60bba bttv.o
- with a depmod -a everything should be back in order and working