Linux 2.5.60 cciss_scsi.c

Linux 2.5.60 cciss_scsi.c

Post by Anthony J. Breeds-Taurim » Wed, 12 Feb 2003 08:40:10



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:

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

        // 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

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. 2.5.60 - drivers/char/esp.c vs include/linux/serialP.h

compiling drivers/char/esp.c with -Wundef triggers a warning:

In file included from drivers/char/esp.c:51:
include/linux/serialP.h:27:6: warning: "LINUX_VERSION_CODE" is not defined

The code that trips it up:

#if (LINUX_VERSION_CODE < 0x020300)
/* Unfortunate, but Linux 2.2 needs async_icount defined here and
 * it got moved in 2.3 */
#include <linux/serial.h>
#endif

It's unclear if this should be fixed by adding a #include <linux/version.h>
to esp.c, or if this code should summarily be lopped out of serialP.h.

  application_pgp-signature_part
< 1K Download

2. Q: eth0:Setting Rx mode to 1 addresses - huh?

3. Oops on linux 2.5.60, 2.5.61 as well.

4. trap getdents

5. Linux 2.5.60

6. RS6000 and AIX -- Opinions please

7. Another Linux 2.5.60 Compile error

8. Pls help mount/format SCSI hard drive

9. Linux 2.5.60 Compile error

10. Linux 2.5.60-dj2

11. eata irq abuse (was: Re: Linux 2.5.60)

12. Strange TCP with 2.5.60

13. 2.5.60 cheerleading...