Hi there,
I'm new to this list, and I'm new to kernel coding. But I read the
introductions about the kernel structures, Makefiles and Modules, so I
think I know at least a little bit.
I'm trying to port a device driver (snd-echoaudio, which is an
additional driver for alsa) from 2.4.x kernel (alsa) to 2.6.x.
I *think* it should work the way I've done it, but it's a little bit
messy as the kernel modules needs some C++ files for the hardware
access. Additionally, those files need some system libraries (they
depend on <endian.h>, <time.h> and stuff).
This was no problem with the 2.4-kernel, but I think they way they are
linked might be the problem here.
Everything compiles and links fine, but when I try to load the module
(yes, I read the build instructions for 2.5/2.6 modules...) I get this:
Error inserting 'sound/pci/echoaudio/snd-echoaudio.ko': -1 Invalid
module format
while /var/log/kern.log says:
kernel: module snd_echoaudio: Unknown relocation: 0
I really don't know what to look for anymore, so I decided to ask for
your help. When I strip the driver from everything except init and exit,
I can load it, so the general build incantation should be alright...
regards,
Lars
BTW: the 2.6-kernel improvements are great. Thanks to everyone!!