patch-2.2.6 linux/drivers/scsi/pci2000.h

Next file: linux/drivers/scsi/pci2220i.c
Previous file: linux/drivers/scsi/pci2000.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.5/linux/drivers/scsi/pci2000.h linux/drivers/scsi/pci2000.h
@@ -1,29 +1,23 @@
-/*+M*************************************************************************
- * Perceptive Solutions, Inc. PCI-2000 device driver proc support for Linux.
+/****************************************************************************
+ * Perceptive Solutions, Inc. PCI-2000 device driver for Linux.
  *
- * Copyright (c) 1997 Perceptive Solutions, Inc.
+ * pci2000.h - Linux Host Driver for PCI-2000 IntelliCache SCSI Adapters
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
+ * Copyright (c) 1997-1999 Perceptive Solutions, Inc.
+ * All Rights Reserved.
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that redistributions of source
+ * code retain the above copyright notice and this comment without
+ * modification.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING.  If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Technical updates and product information at:
+ *  http://www.psidisk.com
  *
+ * Please send questions, comments, bug reports to:
+ *  tech@psidisk.com Technical Support
  *
- *	File Name:		pci2000.h
- *
- *	Description:	Header file for the SCSI driver for the PCI-2000
- *					interface card.
- *
- *-M*************************************************************************/
+ ****************************************************************************/
 #ifndef _PCI2000_H
 #define _PCI2000_H
 
@@ -33,6 +27,11 @@
 #ifndef	PSI_EIDE_SCSIOP
 #define	PSI_EIDE_SCSIOP	1
 
+#ifndef LINUX_VERSION_CODE
+#include <linux/version.h>
+#endif 
+#define	LINUXVERSION(v,p,s)    (((v)<<16) + ((p)<<8) + (s))
+
 /************************************************/
 /*		definition of standard data types		*/
 /************************************************/
@@ -194,6 +193,7 @@
 int Pci2000_QueueCommand	(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *));
 int Pci2000_Abort			(Scsi_Cmnd *SCpnt);
 int Pci2000_Reset			(Scsi_Cmnd *SCpnt, unsigned int flags);
+int Pci2000_Release			(struct Scsi_Host *pshost);
 int Pci2000_BiosParam		(Disk *disk, kdev_t dev, int geom[]);
 
 #ifndef NULL
@@ -202,12 +202,43 @@
 
 extern struct proc_dir_entry Proc_Scsi_Pci2000;
 
+#if LINUX_VERSION_CODE >= LINUXVERSION(2,1,75)
+#define PCI2000 {																\
+		next:						NULL,										\
+		module:						NULL,										\
+		proc_dir:					&Proc_Scsi_Pci2000,							\
+		proc_info:					NULL,	/* let's not bloat the kernel */	\
+		name:						"PCI-2000 SCSI Intelligent Disk Controller",\
+		detect:						Pci2000_Detect,								\
+		release:					Pci2000_Release,							\
+		info:						NULL,	/* let's not bloat the kernel */	\
+		command:					Pci2000_Command,							\
+		queuecommand:				Pci2000_QueueCommand,						\
+		eh_strategy_handler:		NULL,										\
+		eh_abort_handler:			NULL,										\
+		eh_device_reset_handler:	NULL,										\
+		eh_bus_reset_handler:		NULL,										\
+		eh_host_reset_handler:		NULL,										\
+		abort:						Pci2000_Abort,								\
+		reset:						Pci2000_Reset,								\
+		slave_attach:				NULL,										\
+		bios_param:					Pci2000_BiosParam,							\
+		can_queue:					16,											\
+		this_id:					-1,											\
+		sg_tablesize:				16,											\
+		cmd_per_lun:				1,											\
+		present:					0,											\
+		unchecked_isa_dma:			0,											\
+		use_clustering:				DISABLE_CLUSTERING,							\
+		use_new_eh_code:			0											\
+		}
+#else
 #define PCI2000 { NULL, NULL,							\
 			&Proc_Scsi_Pci2000,/* proc_dir_entry */		\
 			NULL,		                				\
 			"PCI-2000 SCSI Intelligent Disk Controller",\
 			Pci2000_Detect,								\
-			NULL,										\
+			Pci2000_Release,							\
 			NULL,	 									\
 			Pci2000_Command,							\
 			Pci2000_QueueCommand,						\
@@ -222,5 +253,6 @@
 			0, 											\
 			0, 											\
 			DISABLE_CLUSTERING }
+#endif
 
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)