I'm not sure if anyone has reported this.
gcc -D__KERNEL__ -I/stuff/src/linux-2.4.23-pre7/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=megaraid2 -c -o megaraid2.o megaraid2.c
megaraid2.c: In function `mega_find_card':
megaraid2.c:403: structure has no member named `lock'
make[3]: *** [megaraid2.o] Error 1
make[3]: Leaving directory `/stuff/src/linux-2.4.23-pre7/drivers/scsi'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/stuff/src/linux-2.4.23-pre7/drivers/scsi'
make[1]: *** [_subdir_scsi] Error 2
make[1]: Leaving directory `/stuff/src/linux-2.4.23-pre7/drivers'
make: *** [_dir_drivers] Error 2
The driver does compile as a module, but not built into the kernel.