Hello, I recently installed Linux Manrake on my Pentium II 400 after running 
Redhat 6.1 on a different machine.  I have been working on developing some 
device drivers for some data acquisition hardware, and I had one for a 
digital I/O card working fine under Redhat 6.1.  When I tried to recompile it 
under Mandrake 7.0, I expected there might be some minor differences going 
from kernel 2.2.12 to 2.2.14, but what I got were seemingly hundreds of 
errors!  Some of them almost seem like there were major changes in the gcc 
compiler itself.  For example, when I declare my f_ops (file operations) 
structure, and pass the pointers to the various functions 
(open,close,read,write, ioctl), it flags all of them saying "There are too 
many arguments in the initialization of the f_ops structure".  What's up?  
Last I checked, the C language hasn't changed much.  When I compare the 
include files which declare the file operations structures between the two 
distributions, it is basically the same, there's just one extra function 
which I'm not using, so I put a NULL for the initializtion on that.  Speaking 
of which, one of the errors I get from gcc is that "NULL is an undeclared 
identifier".  Since when?  If anyone knows what's going on, or where I can 
find all the differences between 2.2.12 and 2.2.14, I would appreciate it.  I 
admit to being pretty new to Linux, but I was able to translate an older 
device driver from kernel 2.0.36 to 2.2.12 with a lot fewer headaches than 
this.
-Dave

Reply via email to