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
