I just figured it was common practice to add structure members to the end of the structure so as to not break existing code initializations.
Alas, the Linux 2.4 file_operations device driver structure has a new member, struct module *owner inserted at the beginning of the struct! Ugh!
I wasted several hours debugging/porting a 2.2 driver that had all of the function pointer members off by one!
(Partly due to a stupidism on my part: I ignored some compiler warnings about it--shame on me. Sometimes my brain just does not work like other people's.)
[I know about the abreviated GCC way of initializing structs but this was existing code written by someone else.]