Annotation of Gnu-Mach/linux/src/drivers/scsi/advansys.h, revision 1.1

1.1     ! root        1: /* $Id: advansys.h,v 1.1 1999/04/26 05:54:08 tb Exp $ */
        !             2: 
        !             3: /*
        !             4:  * advansys.h - Linux Host Driver for AdvanSys SCSI Adapters
        !             5:  * 
        !             6:  * Copyright (c) 1995-1998 Advanced System Products, Inc.
        !             7:  * All Rights Reserved.
        !             8:  *
        !             9:  * Redistribution and use in source and binary forms, with or without
        !            10:  * modification, are permitted provided that redistributions of source
        !            11:  * code retain the above copyright notice and this comment without
        !            12:  * modification.
        !            13:  *
        !            14:  * There is an AdvanSys Linux WWW page at:
        !            15:  *  http://www.advansys.com/linux.html
        !            16:  *
        !            17:  * The latest version of the AdvanSys driver is available at:
        !            18:  *  ftp://ftp.advansys.com/pub/linux
        !            19:  *
        !            20:  * Please send questions, comments, bug reports to:
        !            21:  *  [email protected] (Bob Frey)
        !            22:  */
        !            23: 
        !            24: #ifndef _ADVANSYS_H
        !            25: #define _ADVANSYS_H
        !            26: 
        !            27: /* Convert Linux Version, Patch-level, Sub-level to LINUX_VERSION_CODE. */
        !            28: #define ASC_LINUX_VERSION(V, P, S)    (((V) * 65536) + ((P) * 256) + (S))
        !            29: 
        !            30: #ifndef LINUX_VERSION_CODE
        !            31: #include <linux/version.h>
        !            32: #endif /* LINUX_VERSION_CODE */
        !            33: 
        !            34: /*
        !            35:  * Scsi_Host_Template function prototypes.
        !            36:  */
        !            37: int advansys_detect(Scsi_Host_Template *);
        !            38: int advansys_release(struct Scsi_Host *);
        !            39: const char *advansys_info(struct Scsi_Host *);
        !            40: int advansys_command(Scsi_Cmnd *);
        !            41: int advansys_queuecommand(Scsi_Cmnd *, void (* done)(Scsi_Cmnd *));
        !            42: int advansys_abort(Scsi_Cmnd *);
        !            43: #if LINUX_VERSION_CODE < ASC_LINUX_VERSION(1,3,89)
        !            44: int advansys_reset(Scsi_Cmnd *);
        !            45: #else /* version >= v1.3.89 */
        !            46: int advansys_reset(Scsi_Cmnd *, unsigned int);
        !            47: #endif /* version >= v1.3.89 */
        !            48: #if LINUX_VERSION_CODE < ASC_LINUX_VERSION(1,3,0)
        !            49: int advansys_biosparam(Disk *, int, int[]);
        !            50: #else /* version >= v1.3.0 */
        !            51: int advansys_biosparam(Disk *, kdev_t, int[]);
        !            52: extern struct proc_dir_entry proc_scsi_advansys;
        !            53: int advansys_proc_info(char *, char **, off_t, int, int, int);
        !            54: #endif /* version >= v1.3.0 */
        !            55: 
        !            56: /* init/main.c setup function */
        !            57: void advansys_setup(char *, int *);
        !            58: 
        !            59: /*
        !            60:  * AdvanSys Host Driver Scsi_Host_Template (struct SHT) from hosts.h.
        !            61:  */
        !            62: #if LINUX_VERSION_CODE < ASC_LINUX_VERSION(1,3,0)
        !            63: #define ADVANSYS { \
        !            64:     NULL,                     /* struct SHT *next */ \
        !            65:     NULL,                     /* int *usage_count */ \
        !            66:     "advansys",               /* char *name */ \
        !            67:     advansys_detect,          /* int (*detect)(struct SHT *) */ \
        !            68:     advansys_release,         /* int (*release)(struct Scsi_Host *) */ \
        !            69:     advansys_info,            /* const char *(*info)(struct Scsi_Host *) */ \
        !            70:     advansys_command,         /* int (*command)(Scsi_Cmnd *) */ \
        !            71:     advansys_queuecommand, \
        !            72:             /* int (*queuecommand)(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)) */ \
        !            73:     advansys_abort,           /* int (*abort)(Scsi_Cmnd *) */ \
        !            74:     advansys_reset,           /* int (*reset)(Scsi_Cmnd *) */ \
        !            75:     NULL,                     /* int (*slave_attach)(int, int) */ \
        !            76:     advansys_biosparam,       /* int (* bios_param)(Disk *, int, int []) */ \
        !            77:     /* \
        !            78:      * The following fields are set per adapter in advansys_detect(). \
        !            79:      */ \
        !            80:     0,                        /* int can_queue */ \
        !            81:     0,                        /* int this_id */ \
        !            82:     0,                        /* short unsigned int sg_tablesize */ \
        !            83:     0,                        /* short cmd_per_lun */ \
        !            84:     0,                        /* unsigned char present */    \
        !            85:     /* \
        !            86:      * Because the driver may control an ISA adapter 'unchecked_isa_dma' \
        !            87:      * must be set. The flag will be cleared in advansys_detect for non-ISA \
        !            88:      * adapters. Refer to the comment in scsi_module.c for more information. \
        !            89:      */ \
        !            90:     1,                        /* unsigned unchecked_isa_dma:1 */ \
        !            91:     /* \
        !            92:      * All adapters controlled by this driver are capable of large \
        !            93:      * scatter-gather lists. According to the mid-level SCSI documentation \
        !            94:      * this obviates any performance gain provided by setting \
        !            95:      * 'use_clustering'. But empirically while CPU utilization is increased \
        !            96:      * by enabling clustering, I/O throughput increases as well. \
        !            97:      */ \
        !            98:     ENABLE_CLUSTERING,        /* unsigned use_clustering:1 */ \
        !            99: }
        !           100: #elif LINUX_VERSION_CODE < ASC_LINUX_VERSION(2,1,75)
        !           101: #define ADVANSYS { \
        !           102:     NULL,                    /* struct SHT *next */ \
        !           103:     NULL, \
        !           104:         /* version < v2.1.23 long *usage_count */ \
        !           105:         /* version >= v2.1.23 struct module * */ \
        !           106:     &proc_scsi_advansys,     /* struct proc_dir_entry *proc_dir */ \
        !           107:     advansys_proc_info,    \
        !           108:         /* int (*proc_info)(char *, char **, off_t, int, int, int) */ \
        !           109:     "advansys",              /* const char *name */ \
        !           110:     advansys_detect,         /* int (*detect)(struct SHT *) */ \
        !           111:     advansys_release,        /* int (*release)(struct Scsi_Host *) */ \
        !           112:     advansys_info,           /* const char *(*info)(struct Scsi_Host *) */ \
        !           113:     advansys_command,        /* int (*command)(Scsi_Cmnd *) */ \
        !           114:     advansys_queuecommand, \
        !           115:         /* int (*queuecommand)(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)) */ \
        !           116:     advansys_abort,          /* int (*abort)(Scsi_Cmnd *) */ \
        !           117:     advansys_reset, \
        !           118:         /* version < v1.3.89 int (*reset)(Scsi_Cmnd *) */ \
        !           119:         /* version >= v1.3.89 int (*reset)(Scsi_Cmnd *, unsigned int) */ \
        !           120:     NULL,                    /* int (*slave_attach)(int, int) */ \
        !           121:     advansys_biosparam,      /* int (* bios_param)(Disk *, kdev_t, int []) */ \
        !           122:     /* \
        !           123:      * The following fields are set per adapter in advansys_detect(). \
        !           124:      */ \
        !           125:     0,                        /* int can_queue */ \
        !           126:     0,                        /* int this_id */ \
        !           127:     0,                        /* short unsigned int sg_tablesize */ \
        !           128:     0,                        /* short cmd_per_lun */ \
        !           129:     0,                        /* unsigned char present */    \
        !           130:     /* \
        !           131:      * Because the driver may control an ISA adapter 'unchecked_isa_dma' \
        !           132:      * must be set. The flag will be cleared in advansys_detect for non-ISA \
        !           133:      * adapters. Refer to the comment in scsi_module.c for more information. \
        !           134:      */ \
        !           135:     1,                        /* unsigned unchecked_isa_dma:1 */ \
        !           136:     /* \
        !           137:      * All adapters controlled by this driver are capable of large \
        !           138:      * scatter-gather lists. According to the mid-level SCSI documentation \
        !           139:      * this obviates any performance gain provided by setting \
        !           140:      * 'use_clustering'. But empirically while CPU utilization is increased \
        !           141:      * by enabling clustering, I/O throughput increases as well. \
        !           142:      */ \
        !           143:     ENABLE_CLUSTERING,        /* unsigned use_clustering:1 */ \
        !           144: }
        !           145: #else /* version >= v2.1.75 */
        !           146: #define ADVANSYS { \
        !           147:     proc_dir:     &proc_scsi_advansys, \
        !           148:     proc_info:    advansys_proc_info, \
        !           149:     name:         "advansys", \
        !           150:     detect:       advansys_detect, \
        !           151:     release:      advansys_release, \
        !           152:     info:         advansys_info, \
        !           153:     command:      advansys_command, \
        !           154:     queuecommand: advansys_queuecommand, \
        !           155:     abort:        advansys_abort, \
        !           156:     reset:        advansys_reset, \
        !           157:     bios_param:    advansys_biosparam, \
        !           158:     /* \
        !           159:      * Because the driver may control an ISA adapter 'unchecked_isa_dma' \
        !           160:      * must be set. The flag will be cleared in advansys_detect for non-ISA \
        !           161:      * adapters. Refer to the comment in scsi_module.c for more information. \
        !           162:      */ \
        !           163:     unchecked_isa_dma: 1, \
        !           164:     /* \
        !           165:      * All adapters controlled by this driver are capable of large \
        !           166:      * scatter-gather lists. According to the mid-level SCSI documentation \
        !           167:      * this obviates any performance gain provided by setting \
        !           168:      * 'use_clustering'. But empirically while CPU utilization is increased \
        !           169:      * by enabling clustering, I/O throughput increases as well. \
        !           170:      */ \
        !           171:     use_clustering: ENABLE_CLUSTERING, \
        !           172: }
        !           173: #endif /* version >= v2.1.75 */
        !           174: #endif /* _ADVANSYS_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.