1 /****************************************************************************** 2 ** Device driver for the PCI-SCSI NCR538XX controller family. 4 ** Copyright (C) 1994 Wolfgang Stanglmeier 6 ** This program is free software; you can redistribute it and/or modify 7 ** it under the terms of the GNU General Public License as published by 8 ** the Free Software Foundation; either version 2 of the License, or 9 ** (at your option) any later version. 11 ** This program is distributed in the hope that it will be useful, 12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 ** GNU General Public License for more details. 16 ** You should have received a copy of the GNU General Public License 17 ** along with this program; if not, write to the Free Software 18 ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 **----------------------------------------------------------------------------- 22 ** This driver has been ported to Linux from the FreeBSD NCR53C8XX driver 23 ** and is currently maintained by 25 ** Gerard Roudier <groudier@club-internet.fr> 27 ** Being given that this driver originates from the FreeBSD version, and 28 ** in order to keep synergy on both, any suggested enhancements and corrections 29 ** received on Linux are automatically a potential candidate for the FreeBSD 32 ** The original driver has been written for 386bsd and FreeBSD by 33 ** Wolfgang Stanglmeier <wolf@cologne.de> 34 ** Stefan Esser <se@mi.Uni-Koeln.de> 36 ** And has been ported to NetBSD by 37 ** Charles M. Hannum <mycroft@gnu.ai.mit.edu> 39 ******************************************************************************* 45 #include"sym53c8xx_defs.h" 48 ** Define Scsi_Host_Template parameters 50 ** Used by hosts.c and ncr53c8xx.c with module configuration. 53 #if defined(HOSTS_C) || defined(MODULE) 55 #include <scsi/scsicam.h> 57 intncr53c8xx_abort(Scsi_Cmnd
*); 58 intncr53c8xx_detect(Scsi_Host_Template
*tpnt
); 59 const char*ncr53c8xx_info(struct Scsi_Host
*host
); 60 intncr53c8xx_queue_command(Scsi_Cmnd
*,void(*done
)(Scsi_Cmnd
*)); 61 intncr53c8xx_reset(Scsi_Cmnd
*,unsigned int); 64 intncr53c8xx_release(struct Scsi_Host
*); 66 #define ncr53c8xx_release NULL 70 #if LINUX_VERSION_CODE >= LinuxVersionCode(2,1,75) 72 #define NCR53C8XX { name:"", \ 73 detect: ncr53c8xx_detect, \ 74 release: ncr53c8xx_release, \ 75 info: ncr53c8xx_info, \ 76 queuecommand: ncr53c8xx_queue_command,\ 77 abort: ncr53c8xx_abort, \ 78 reset: ncr53c8xx_reset, \ 79 bios_param: scsicam_bios_param, \ 80 can_queue: SCSI_NCR_CAN_QUEUE, \ 82 sg_tablesize: SCSI_NCR_SG_TABLESIZE, \ 83 cmd_per_lun: SCSI_NCR_CMD_PER_LUN, \ 84 use_clustering: DISABLE_CLUSTERING} 88 #define NCR53C8XX { NULL, NULL, NULL, NULL, \ 89 NULL, ncr53c8xx_detect, \ 90 ncr53c8xx_release, ncr53c8xx_info, NULL, \ 91 ncr53c8xx_queue_command,ncr53c8xx_abort, \ 92 ncr53c8xx_reset, NULL, scsicam_bios_param, \ 93 SCSI_NCR_CAN_QUEUE, 7, \ 94 SCSI_NCR_SG_TABLESIZE, SCSI_NCR_CMD_PER_LUN, \ 95 0, 0, DISABLE_CLUSTERING} 97 #endif/* LINUX_VERSION_CODE */ 99 #endif/* defined(HOSTS_C) || defined(MODULE) */ 101 #endif/* NCR53C8XX_H */