From: <vl...@us...> - 2006-10-26 16:10:11
|
Revision: 15 http://svn.sourceforge.net/scst/?rev=15&view=rev Author: vlnb Date: 2006-10-26 09:09:56 -0700 (Thu, 26 Oct 2006) Log Message: ----------- Added support of non-original kernels (i.e. not 2.6.17) Modified Paths: -------------- trunk/qla2x00t/Kconfig trunk/qla2x00t/ql2400.c trunk/qla2x00t/qla2x00-target/Makefile trunk/qla2x00t/qla2x00-target/README trunk/qla2x00t/qla_os.c Modified: trunk/qla2x00t/Kconfig =================================================================== --- trunk/qla2x00t/Kconfig 2006-10-26 16:08:29 UTC (rev 14) +++ trunk/qla2x00t/Kconfig 2006-10-26 16:09:56 UTC (rev 15) @@ -41,7 +41,7 @@ You will also need the SCST middle level drivers from http://scst.sf.net/. config SCSI_QLA2XXX_EMBEDDED_FIRMWARE - bool " Use firmware-loader modules (DEPRECATED)" + bool "Use firmware-loader modules (DEPRECATED)" depends on SCSI_QLA_FC help This option offers you the deprecated firmware-loader @@ -49,33 +49,33 @@ Firmware Loader interface in the qla2xxx driver. config SCSI_QLA21XX - tristate " Build QLogic ISP2100 firmware-module" + tristate "Build QLogic ISP2100 firmware-module" depends on SCSI_QLA_FC && SCSI_QLA2XXX_EMBEDDED_FIRMWARE ---help--- This driver supports the QLogic 21xx (ISP2100) host adapter family. config SCSI_QLA22XX - tristate " Build QLogic ISP2200 firmware-module" + tristate "Build QLogic ISP2200 firmware-module" depends on SCSI_QLA_FC && SCSI_QLA2XXX_EMBEDDED_FIRMWARE ---help--- This driver supports the QLogic 22xx (ISP2200) host adapter family. config SCSI_QLA2300 - tristate " Build QLogic ISP2300/ISP6312 firmware-module" + tristate "Build QLogic ISP2300/ISP6312 firmware-module" depends on SCSI_QLA_FC && SCSI_QLA2XXX_EMBEDDED_FIRMWARE ---help--- This driver supports the QLogic 2300 (ISP2300, ISP2312 and ISP6312) host adapter family. config SCSI_QLA2322 - tristate " Build QLogic ISP2322/ISP6322 firmware-module" + tristate "Build QLogic ISP2322/ISP6322 firmware-module" depends on SCSI_QLA_FC && SCSI_QLA2XXX_EMBEDDED_FIRMWARE ---help--- This driver supports the QLogic 2322 (ISP2322 and ISP6322) host adapter family. config SCSI_QLA24XX - tristate " Build QLogic ISP24xx firmware-module" + tristate "Build QLogic ISP24xx firmware-module" depends on SCSI_QLA_FC && SCSI_QLA2XXX_EMBEDDED_FIRMWARE ---help--- This driver supports the QLogic 24xx (ISP2422 and ISP2432) host Modified: trunk/qla2x00t/ql2400.c =================================================================== --- trunk/qla2x00t/ql2400.c 2006-10-26 16:08:29 UTC (rev 14) +++ trunk/qla2x00t/ql2400.c 2006-10-26 16:09:56 UTC (rev 15) @@ -78,6 +78,7 @@ .subdevice = PCI_ANY_ID, .driver_data = (unsigned long)&qla_board_tbl[1], }, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) { .vendor = PCI_VENDOR_ID_QLOGIC, .device = PCI_DEVICE_ID_QLOGIC_ISP5422, @@ -92,7 +93,7 @@ .subdevice = PCI_ANY_ID, .driver_data = (unsigned long)&qla_board_tbl[3], }, - +#endif {0, 0}, }; MODULE_DEVICE_TABLE(pci, qla24xx_pci_tbl); Modified: trunk/qla2x00t/qla2x00-target/Makefile =================================================================== --- trunk/qla2x00t/qla2x00-target/Makefile 2006-10-26 16:08:29 UTC (rev 14) +++ trunk/qla2x00t/qla2x00-target/Makefile 2006-10-26 16:09:56 UTC (rev 15) @@ -56,10 +56,10 @@ else -all: Modules.symvers +all: Modules.symvers Module.symvers $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m -tgt: Modules.symvers +tgt: Modules.symvers Module.symvers $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=n install: all @@ -67,9 +67,24 @@ modules_install -depmod -a +SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null) +ifneq ($(SCST_MOD_VERS),) Modules.symvers: $(SCST_DIR)/Modules.symvers - -cp $(SCST_DIR)/Modules.symvers . + echo $(SCST_MOD_VERS) + cp $(SCST_DIR)/Modules.symvers . +else +.PHONY: Modules.symvers +endif +# It's renamed in 2.6.18 +SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null) +ifneq ($(SCST_MOD_VERS),) +Module.symvers: $(SCST_DIR)/Module.symvers + cp $(SCST_DIR)/Module.symvers . +else +.PHONY: Module.symvers +endif + uninstall: rm -f $(INSTALL_DIR)/qla2[23x]00tgt.ko -/sbin/depmod -a Modified: trunk/qla2x00t/qla2x00-target/README =================================================================== --- trunk/qla2x00t/qla2x00-target/README 2006-10-26 16:08:29 UTC (rev 14) +++ trunk/qla2x00t/qla2x00-target/README 2006-10-26 16:09:56 UTC (rev 15) @@ -20,7 +20,9 @@ This version is compatible with SCST version 0.9.5 and higher. -Tested on stable kernels from http://www.kernel.org +Tested on stable kernels from http://www.kernel.org. The original +initiator driver was taken from kernel version 2.6.17.8, but it should +also work on other versions, including 2.6.18.x and 2.6.16.x. NOTE: WWN-based authentification on 2200 cards doesn't always work from ---- the first "connect", but works on all subsequent attempts. Modified: trunk/qla2x00t/qla_os.c =================================================================== --- trunk/qla2x00t/qla_os.c 2006-10-26 16:08:29 UTC (rev 14) +++ trunk/qla2x00t/qla_os.c 2006-10-26 16:09:56 UTC (rev 15) @@ -10,6 +10,7 @@ #include <linux/vmalloc.h> #include <linux/delay.h> #include <linux/kthread.h> +#include <linux/version.h> #include <scsi/scsi_tcq.h> #include <scsi/scsicam.h> @@ -1197,12 +1198,14 @@ ha->device_type |= DT_ISP2432; ha->device_type |= DT_ZIO_SUPPORTED; break; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) case PCI_DEVICE_ID_QLOGIC_ISP5422: ha->device_type |= DT_ISP5422; break; case PCI_DEVICE_ID_QLOGIC_ISP5432: ha->device_type |= DT_ISP5432; break; +#endif } } @@ -2168,7 +2171,12 @@ int rval; rval = QLA_SUCCESS; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) ha->srb_mempool = mempool_create_slab_pool(SRB_MIN_REQ, srb_cachep); +#else + ha->srb_mempool = mempool_create(SRB_MIN_REQ, mempool_alloc_slab, + mempool_free_slab, srb_cachep); +#endif if (ha->srb_mempool == NULL) { qla_printk(KERN_INFO, ha, "Unable to allocate SRB mempool.\n"); rval = QLA_FUNCTION_FAILED; @@ -2701,10 +2709,12 @@ PCI_ANY_ID, PCI_ANY_ID, }, { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2432, PCI_ANY_ID, PCI_ANY_ID, }, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422, PCI_ANY_ID, PCI_ANY_ID, }, { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432, PCI_ANY_ID, PCI_ANY_ID, }, +#endif { 0 }, }; MODULE_DEVICE_TABLE(pci, qla2xxx_pci_tbl); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |