Skip to contentSkip to conversation

Feral Qlogic ISP driver up for testing

DISCUSSION James Bottomley 3 participants 8 messages May 15, 2003 SCSI

lore
Share & tools
lore
#0 lore raw

I've taken Matthew Jacob's latest drop of the Feral ISP driver and put it up under bitkeeper at

http://linux-scsi.bkbits.net/scsi-isp-2.5

I've plumbed it into the SCSI build and done some minor tweaking to make it compile and run correctly in 2.5 (a missing vmalloc #include and the irqreturn_t stuff).

If people could check it out, I'd be grateful.

I find on my 1280 board that it panics in isp_reset(), but that could just be because I use exotic hardware (a PA-RISC C360 box) for testing.

James

#1 lore raw
Quoted 4 lines · James Bottomley

I've taken Matthew Jacob's latest drop of the Feral ISP driver and put it up under bitkeeper at

http://linux-scsi.bkbits.net/scsi-isp-2.5

Could ypu please submitt a diff for review? Some people don't like to be lost in a maze of BK trees, all almost the same..

#2 lore raw
Quoted 8 lines · Christoph Hellwig
Quoted 4 lines · James Bottomley

I've taken Matthew Jacob's latest drop of the Feral ISP driver and put it up under bitkeeper at

http://linux-scsi.bkbits.net/scsi-isp-2.5

Could ypu please submitt a diff for review? Some people don't like to be lost in a maze of BK trees, all almost the same..

Well, it's all new files, there's not much to diff.

The tarball is here:

ftp://ftp.feral.com/pub/isp/isp_dist.tgz

(I think that corresponds to what I pulled out of the feral BK tree) except that I flattened common, linux and firmware into a single directory.

And the patches I did are below.

James

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.1064 -> 1.1066
# drivers/scsi/isp/isp_linux.c 1.1 -> 1.2
# drivers/scsi/isp/isp_linux.h 1.1 -> 1.2
# drivers/scsi/Makefile 1.41 -> 1.42
# drivers/scsi/Kconfig 1.20 -> 1.21
# (new) -> 1.1 drivers/scsi/isp/Makefile
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/05/15 [email protected] 1.1065
# Plumb the Feral ISP driver into the SCSI Builds
# --------------------------------------------
# 03/05/15 [email protected] 1.1066
# Update feral ISP driver to compile without warnings
#

# add #include <linux/vmalloc.h> and convert to irqreturn_t
# --------------------------------------------
#
diff -Nru a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
--- a/drivers/scsi/Kconfig	Thu May 15 12:12:52 2003
+++ b/drivers/scsi/Kconfig	Thu May 15 12:12:52 2003
@@ -1739,6 +1739,15 @@

# bool 'Cyberstorm Mk III SCSI support (EXPERIMENTAL)' CONFIG_CYBERSTORMIII_SCSI
# bool 'GVP Turbo 040/060 SCSI support (EXPERIMENTAL)' CONFIG_GVP_TURBO_SCSI
+
+config SCSI_FERAL_ISP
+ tristate "Feral ISP driver for 10x0/12x0/2x00"
+ depends on SCSI
+ help

+	  Feral Driver for the following qlogic ISP chips
+	  1020/1040/1080/1280/12160/2100/2200/2300
+	  If this doesn't work, there are other drivers for these chips
+	  below.

endmenu

source "drivers/scsi/pcmcia/Kconfig"

drivers/scsi/Makefile +1 -0
diff -Nru a/drivers/scsi/Makefile b/drivers/scsi/Makefile
@@ -69,6 +69,7 @@
 obj-$(CONFIG_SCSI_NCR53C406A)	+= NCR53c406a.o
 obj-$(CONFIG_SCSI_NCR_D700)	+= NCR_D700.o 53c700.o
 obj-$(CONFIG_SCSI_SYM53C416)	+= sym53c416.o
+obj-$(CONFIG_SCSI_FERAL_ISP)	+= isp/
 obj-$(CONFIG_SCSI_QLOGIC_FAS)	+= qlogicfas.o
 obj-$(CONFIG_SCSI_QLOGIC_ISP)	+= qlogicisp.o 
 obj-$(CONFIG_SCSI_QLOGIC_FC)	+= qlogicfc.o 
drivers/scsi/isp/Makefile new file +5 -0
diff -Nru a/drivers/scsi/isp/Makefile b/drivers/scsi/isp/Makefile
@@ -0,0 +1,5 @@
+obj-y		+= isp_mod.o
+
+EXTRA_CFLAGS	+= -Idrivers/scsi
+
+isp_mod-y	+= isp_pci.o isp_linux.o isp.o isp_cb_ops.o isp_target.o
drivers/scsi/isp/isp_linux.c +3 -2
diff -Nru a/drivers/scsi/isp/isp_linux.c b/drivers/scsi/isp/isp_linux.c
@@ -2241,7 +2241,7 @@
     ISP_IUNLK_SOFTC(isp);
 }
 
-void
+irqreturn_t
 isplinux_intr(int irq, void *arg, struct pt_regs *pt)
 {
     struct ispsoftc *isp = arg;
@@ -2253,7 +2253,7 @@
     if (ISP_READ_ISR(isp, &isr, &sema, &mbox) == 0) {
 	isp->isp_intbogus++;
 	ISP_IUNLK_SOFTC(isp);
-	return;
+	return IRQ_NONE;
     }
     isp_intr(isp, isr, sema, mbox);
     isplinux_runwaitq(isp);
@@ -2293,6 +2293,7 @@
 	}
 	ISP_UNLK_SCSI_DONE(isp);
     }
+    return IRQ_HANDLED;
 }
 
 static INLINE int
drivers/scsi/isp/isp_linux.h +3 -1
diff -Nru a/drivers/scsi/isp/isp_linux.h b/drivers/scsi/isp/isp_linux.h
@@ -40,6 +40,8 @@
 #ifndef _ISP_LINUX_H
 #define _ISP_LINUX_H
 
+#include <linux/vmalloc.h>
+
 #ifndef	ISP_MODULE
 #define	__NO_VERSION__
 #endif
@@ -732,7 +734,7 @@
  */
 void isplinux_timer(unsigned long);
 void isplinux_mbtimer(unsigned long);
-void isplinux_intr(int, void *, struct pt_regs *);
+irqreturn_t isplinux_intr(int, void *, struct pt_regs *);
 void isplinux_common_init(struct ispsoftc *);
 #ifdef	CONFIG_PROC_FS
 void isplinux_init_proc(struct ispsoftc *);
#3 lore raw

The tarball doesn't get updated as frequently as my BK tree, and the BK tree for 2.5 is different...

bk://bitkeeper.feral.com:9002

Quoted 25 lines · James Bottomley
Quoted 8 lines · Christoph Hellwig
Quoted 4 lines · James Bottomley

I've taken Matthew Jacob's latest drop of the Feral ISP driver and put it up under bitkeeper at

http://linux-scsi.bkbits.net/scsi-isp-2.5

Could ypu please submitt a diff for review? Some people don't like to be lost in a maze of BK trees, all almost the same..

Well, it's all new files, there's not much to diff.

The tarball is here:

ftp://ftp.feral.com/pub/isp/isp_dist.tgz

(I think that corresponds to what I pulled out of the feral BK tree) except that I flattened common, linux and firmware into a single directory.

And the patches I did are below.

James

#4 lore raw
Quoted 6 lines · Matthew Jacob

The tarball doesn't get updated as frequently as my BK tree, and the BK tree for 2.5 is different...

bk://bitkeeper.feral.com:9002

Hmm, well, the bitkeeper tree is where I got the files from.

We can certainly hold off on integrating it (that's why I put it into a separate BK tree). However, unless there are any really nasty lurking bugs, I'd like to get those people who can at least to test it.

James

#5 lore raw

Oh- okay. The 2.5 tree I had that was different isn't all *that* different. But I was taken a bit by surprise again. By all means- test away as much as you like and send bug reports.

I'm sure that there are boatloads of issues. For example, I just fixed a bug yesterday that had threads getting left around after module unload for 2.4.

Quoted 18 lines · James Bottomley
Quoted 6 lines · Matthew Jacob

The tarball doesn't get updated as frequently as my BK tree, and the BK tree for 2.5 is different...

bk://bitkeeper.feral.com:9002

Hmm, well, the bitkeeper tree is where I got the files from.

We can certainly hold off on integrating it (that's why I put it into a separate BK tree). However, unless there are any really nasty lurking bugs, I'd like to get those people who can at least to test it.

James

#6 lore raw
In reply to James Bottomley

Oi! Oi! That was a bit quicker than I was ready for! Please send me bug reports and I'll take a child off of this to do my updates.

If it's all the same to you, I'd like to make 2.5 a cleaned out branch separate from the 2.4 and earlier branches so it can be a lot cleaner.

Quoted 18 lines · James Bottomley

I've taken Matthew Jacob's latest drop of the Feral ISP driver and put it up under bitkeeper at

http://linux-scsi.bkbits.net/scsi-isp-2.5

I've plumbed it into the SCSI build and done some minor tweaking to make it compile and run correctly in 2.5 (a missing vmalloc #include and the irqreturn_t stuff).

If people could check it out, I'd be grateful.

I find on my 1280 board that it panics in isp_reset(), but that could just be because I use exotic hardware (a PA-RISC C360 box) for testing.

James

#7 lore raw
Quoted 2 lines · Matthew Jacob

If it's all the same to you, I'd like to make 2.5 a cleaned out branch separate from the 2.4 and earlier branches so it can be a lot cleaner.

That would be really cool. Please drop me a note when you have the 2.5-only code ready for review.