|
|
1.1 ! root 1: /*********************************************************************** ! 2: * FILE NAME : DC390.H * ! 3: * BY : C.L. Huang * ! 4: * Description: Device Driver for Tekram DC-390(T) PCI SCSI * ! 5: * Bus Master Host Adapter * ! 6: ***********************************************************************/ ! 7: ! 8: /* Kernel version autodetection */ ! 9: ! 10: #include <linux/version.h> ! 11: /* Convert Linux Version, Patch-level, Sub-level to LINUX_VERSION_CODE. */ ! 12: #define ASC_LINUX_VERSION(V, P, S) (((V) * 65536) + ((P) * 256) + (S)) ! 13: ! 14: #if LINUX_VERSION_CODE < ASC_LINUX_VERSION(1,3,50) ! 15: #define VERSION_ELF_1_2_13 ! 16: #elseif LINUX_VERSION_CODE < ASC_LINUX_VERSION(1,3,95) ! 17: #define VERSION_1_3_85 ! 18: #else ! 19: #define VERSION_2_0_0 ! 20: #endif ! 21: ! 22: /* ! 23: * AMD 53C974 driver, header file ! 24: */ ! 25: ! 26: #ifndef DC390_H ! 27: #define DC390_H ! 28: ! 29: #if defined(HOSTS_C) || defined(MODULE) ! 30: ! 31: #ifdef VERSION_2_0_0 ! 32: #include <scsi/scsicam.h> ! 33: #else ! 34: #include <linux/scsicam.h> ! 35: #endif ! 36: ! 37: extern int DC390_detect(Scsi_Host_Template *psht); ! 38: extern int DC390_queue_command(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *)); ! 39: extern int DC390_abort(Scsi_Cmnd *cmd); ! 40: ! 41: #ifdef VERSION_2_0_0 ! 42: extern int DC390_reset(Scsi_Cmnd *cmd, unsigned int resetFlags); ! 43: #else ! 44: extern int DC390_reset(Scsi_Cmnd *cmd); ! 45: #endif ! 46: ! 47: #ifdef VERSION_ELF_1_2_13 ! 48: extern int DC390_bios_param(Disk *disk, int devno, int geom[]); ! 49: #else ! 50: extern int DC390_bios_param(Disk *disk, kdev_t devno, int geom[]); ! 51: #endif ! 52: ! 53: #ifdef MODULE ! 54: static int DC390_release(struct Scsi_Host *); ! 55: #else ! 56: #define DC390_release NULL ! 57: #endif ! 58: ! 59: #ifndef VERSION_ELF_1_2_13 ! 60: extern struct proc_dir_entry proc_scsi_tmscsim; ! 61: extern int tmscsim_proc_info(char *buffer, char **start, off_t offset, int length, int hostno, int inout); ! 62: #endif ! 63: ! 64: #ifdef VERSION_2_0_0 ! 65: ! 66: #define DC390_T { \ ! 67: NULL, /* *next */ \ ! 68: NULL, /* *usage_count */ \ ! 69: &proc_scsi_tmscsim, /* *proc_dir */ \ ! 70: tmscsim_proc_info, /* (*proc_info)() */ \ ! 71: "Tekram DC390(T) V1.11 Feb-05-1997", /* *name */ \ ! 72: DC390_detect, \ ! 73: DC390_release, /* (*release)() */ \ ! 74: NULL, /* *(*info)() */ \ ! 75: NULL, /* (*command)() */ \ ! 76: DC390_queue_command, \ ! 77: DC390_abort, \ ! 78: DC390_reset, \ ! 79: NULL, /* slave attach */\ ! 80: DC390_bios_param, \ ! 81: 10,/* can queue(-1) */ \ ! 82: 7, /* id(-1) */ \ ! 83: SG_ALL, \ ! 84: 2, /* cmd per lun(2) */ \ ! 85: 0, /* present */ \ ! 86: 0, /* unchecked isa dma */ \ ! 87: DISABLE_CLUSTERING \ ! 88: } ! 89: #endif ! 90: ! 91: ! 92: #ifdef VERSION_1_3_85 ! 93: ! 94: #define DC390_T { \ ! 95: NULL, /* *next */ \ ! 96: NULL, /* *usage_count */ \ ! 97: &proc_scsi_tmscsim, /* *proc_dir */ \ ! 98: tmscsim_proc_info, /* (*proc_info)() */ \ ! 99: "Tekram DC390(T) V1.11 Feb-05-1997", /* *name */ \ ! 100: DC390_detect, \ ! 101: DC390_release, /* (*release)() */ \ ! 102: NULL, /* *(*info)() */ \ ! 103: NULL, /* (*command)() */ \ ! 104: DC390_queue_command, \ ! 105: DC390_abort, \ ! 106: DC390_reset, \ ! 107: NULL, /* slave attach */\ ! 108: DC390_bios_param, \ ! 109: 10,/* can queue(-1) */ \ ! 110: 7, /* id(-1) */ \ ! 111: SG_ALL, \ ! 112: 2, /* cmd per lun(2) */ \ ! 113: 0, /* present */ \ ! 114: 0, /* unchecked isa dma */ \ ! 115: DISABLE_CLUSTERING \ ! 116: } ! 117: #endif ! 118: ! 119: ! 120: #ifdef VERSION_ELF_1_2_13 ! 121: ! 122: #define DC390_T { \ ! 123: NULL, \ ! 124: NULL, \ ! 125: "Tekram DC390(T) V1.11 Feb-05-1997",\ ! 126: DC390_detect, \ ! 127: DC390_release, \ ! 128: NULL, /* info */ \ ! 129: NULL, /* command, deprecated */ \ ! 130: DC390_queue_command, \ ! 131: DC390_abort, \ ! 132: DC390_reset, \ ! 133: NULL, /* slave attach */\ ! 134: DC390_bios_param, \ ! 135: 10,/* can queue(-1) */ \ ! 136: 7, /* id(-1) */ \ ! 137: 16,/* old (SG_ALL) */ \ ! 138: 2, /* cmd per lun(2) */ \ ! 139: 0, /* present */ \ ! 140: 0, /* unchecked isa dma */ \ ! 141: DISABLE_CLUSTERING \ ! 142: } ! 143: #endif ! 144: ! 145: #endif /* defined(HOSTS_C) || defined(MODULE) */ ! 146: ! 147: #endif /* DC390_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.