Hello.
I recently tried to compile kernel 2.5.60. The compile failed
--- make -f scripts/Makefile.build obj=drivers/block gcc -Wp,-MD,drivers/block/.cciss.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=pentium3 -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DMODULE -DKBUILD_BASENAME=cciss -DKBUILD_MODNAME=cciss -c -o drivers/block/cciss.o drivers/block/cciss.c In file included from drivers/block/cciss.c:136: drivers/block/cciss_scsi.c: In function `cciss_scsi_proc_info': drivers/block/cciss_scsi.c:1265: warning: unused variable `found' In file included from drivers/block/cciss.c:136: drivers/block/cciss_scsi.c: In function `cciss_scsi_queue_command': drivers/block/cciss_scsi.c:1382: structure has no member named `host' drivers/block/cciss_scsi.c:1385: structure has no member named `channel' drivers/block/cciss_scsi.c:1385: structure has no member named `target' drivers/block/cciss_scsi.c:1385: structure has no member named `lun' make[2]: *** [drivers/block/cciss.o] Error 1 make[1]: *** [drivers/block] Error 2 make: *** [drivers] Error 2 ---The patch at: http://linux.bkbits.net:8080/linux-2.5/diffs/drivers/scsi/scsi.h@1.58 seems to have removed a compatabilty layer you were useing.
The driver compiles fine with this patch: ================================================================================ diff -X dontdiff -urN linux-2.5.60.clean/drivers/block/cciss_scsi.c linux-2.5.60.cciss/drivers/block/cciss_scsi.c --- linux-2.5.60.clean/drivers/block/cciss_scsi.c 2002-12-04 17:54:44.000000000 +0800 +++ linux-2.5.60.cciss/drivers/block/cciss_scsi.c 2003-02-12 14:03:09.000000000 +0800 @@ -1379,10 +1379,10 @@ // Get the ptr to our adapter structure (hba[i]) out of cmd->host. // We violate cmd->host privacy here. (Is there another way?) - c = (ctlr_info_t **) &cmd->host->hostdata[0]; + c = (ctlr_info_t **) &cmd->device->hostdata[0]; ctlr = (*c)->ctlr; - rc = lookup_scsi3addr(ctlr, cmd->channel, cmd->target, cmd->lun, + rc = lookup_scsi3addr(ctlr, cmd->device->channel, cmd->device->id, cmd->device->lun, scsi3addr); if (rc != 0) { /* the scsi nexus does not match any that we presented... */ ================================================================================
I don't have the device so I'm unable to test it's functioning.
Yours Tony.
/* * "The significant problems we face cannot be solved at the * same level of thinking we were at when we created them." * --Albert Einstein */
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:31 EST