- Patch from Aravind Parchuri <aravind.parchuri@gmail.com> with some my modifications:
authorvlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Wed, 19 Sep 2007 09:19:29 +0000 (09:19 +0000)
committervlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Wed, 19 Sep 2007 09:19:29 +0000 (09:19 +0000)
   * Allows LSI MPT target driver to compile on kernels >2.6.15
   * Changes the way how gettid() syscall gate implemented
 - Small doc update

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@189 d57e44dd-8a1f-0410-8b47-8ef2f437770f

mpt/README
mpt/mpt_scst.c
mpt/mpt_scst.h
usr/fileio/debug.c

index 3ed20a6..99fd81d 100644 (file)
@@ -26,6 +26,17 @@ drivers/message/fusion/Kconfig by diffs from $(SCST_DIR)/mpt/in-tree
 3. Correct in drivers/message/fusion/Makefile SCST_INC_DIR variable so
 it points to correct directory with SCST include files.
 
+Building outside the Linux kernel tree
+--------------------------------------
+
+Edit Makefile, comment there line 
+
+obj-$(CONFIG_FUSION_SCST) += mpt_scst.o
+
+and uncomment line
+
+obj-m += mpt_scst.o
+
 Notes on implementation
 -----------------------
 The driver takes the mptstm target driver implemented by LSI
index 46b2f47..9dde44e 100644 (file)
@@ -155,7 +155,11 @@ mpt_target_show(struct seq_file *seq, void *v)
                        ioc->prod_name,
                        tgt->target_enable ? "True" : "False");
 
-       if (ioc->bus_type == SCSI) {
+#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,15))
+       if (ioc->bus_type == SCSI) {
+#else
+       if (ioc->bus_type == SPI) {
+#endif
                int i = 0;
                seq_printf(seq, "Target ID        :%d\n"
                                "Capabilities     :0x%x\n"
index e3f3988..f087e91 100644 (file)
@@ -2,7 +2,11 @@
 #define __MPT_SCST_H
 
 #if defined(MODULE) && !defined(__GENKSYMS__)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
 #include <linux/config.h>
+#else
+#include <linux/autoconf.h>
+#endif
 #include <linux/module.h>
 #endif
 
index fc0cfad..c7cb6ed 100644 (file)
 #include <time.h>
 #include <pthread.h>
 #include <string.h>
+#include <unistd.h>
+#include <sys/syscall.h>
 
 #include "debug.h"
 
-_syscall0(pid_t,gettid);
+pid_t gettid (void)
+{
+       return syscall(__NR_gettid);
+}
 
 #if defined(DEBUG) || defined(TRACING)