|
|
1.1 ! root 1: /*********************************************************************** ! 2: * FILE NAME : DC390W.H * ! 3: * BY : C.L. Huang * ! 4: * Description: Device Driver for Tekram DC-390W/U/F (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: * NCR 53c825A,875 driver, header file ! 24: */ ! 25: ! 26: #ifndef DC390W_H ! 27: #define DC390W_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 DC390W_detect(Scsi_Host_Template *psht); ! 38: extern int DC390W_queue_command(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *)); ! 39: extern int DC390W_abort(Scsi_Cmnd *cmd); ! 40: ! 41: #ifdef VERSION_2_0_0 ! 42: extern int DC390W_reset(Scsi_Cmnd *cmd, unsigned int resetFlags); ! 43: #else ! 44: extern int DC390W_reset(Scsi_Cmnd *cmd); ! 45: #endif ! 46: ! 47: #ifdef VERSION_ELF_1_2_13 ! 48: extern int DC390W_bios_param(Disk *disk, int devno, int geom[]); ! 49: #else ! 50: extern int DC390W_bios_param(Disk *disk, kdev_t devno, int geom[]); ! 51: #endif ! 52: ! 53: #ifdef MODULE ! 54: static int DC390W_release(struct Scsi_Host *); ! 55: #else ! 56: #define DC390W_release NULL ! 57: #endif ! 58: ! 59: #ifndef VERSION_ELF_1_2_13 ! 60: extern struct proc_dir_entry proc_scsi_tmscsiw; ! 61: extern int tmscsiw_proc_info(char*, char**, off_t, int, int, int); ! 62: #endif ! 63: ! 64: #ifdef VERSION_2_0_0 ! 65: ! 66: #define DC390WUF { \ ! 67: NULL, /* *next */ \ ! 68: NULL, /* *usage_count */ \ ! 69: &proc_scsi_tmscsiw, /* *proc_dir */ \ ! 70: tmscsiw_proc_info, /* (*proc_info)() */ \ ! 71: "Tekram DC390WUF(T) V1.12 Feb-17-1997", /* *name */ \ ! 72: DC390W_detect, \ ! 73: DC390W_release, /* (*release)() */ \ ! 74: NULL, /* *(*info)() */ \ ! 75: NULL, /* (*command)() */ \ ! 76: DC390W_queue_command, \ ! 77: DC390W_abort, \ ! 78: DC390W_reset, \ ! 79: NULL, /* slave attach */\ ! 80: DC390W_bios_param, \ ! 81: 10,/* can queue(-1) */ \ ! 82: 7, /* id(-1) */ \ ! 83: 32,/* old (SG_ALL) */ \ ! 84: 2, /* cmd per lun(2) */ \ ! 85: 0, /* present */ \ ! 86: 0, /* unchecked isa dma */ \ ! 87: ENABLE_CLUSTERING \ ! 88: } ! 89: #endif ! 90: ! 91: #ifdef VERSION_1_3_85 ! 92: ! 93: #define DC390WUF { \ ! 94: NULL, /* *next */ \ ! 95: NULL, /* *usage_count */ \ ! 96: &proc_scsi_tmscsiw, /* *proc_dir */ \ ! 97: tmscsiw_proc_info, /* (*proc_info)() */ \ ! 98: "Tekram DC390WUF(T) V1.12 Feb-17-1997", /* *name */ \ ! 99: DC390W_detect, \ ! 100: DC390W_release, /* (*release)() */ \ ! 101: NULL, /* *(*info)() */ \ ! 102: NULL, /* (*command)() */ \ ! 103: DC390W_queue_command, \ ! 104: DC390W_abort, \ ! 105: DC390W_reset, \ ! 106: NULL, /* slave attach */\ ! 107: DC390W_bios_param, \ ! 108: 10,/* can queue(-1) */ \ ! 109: 7, /* id(-1) */ \ ! 110: 16,/* old (SG_ALL) */ \ ! 111: 2, /* cmd per lun(2) */ \ ! 112: 0, /* present */ \ ! 113: 0, /* unchecked isa dma */ \ ! 114: ENABLE_CLUSTERING \ ! 115: } ! 116: #endif ! 117: ! 118: #ifdef VERSION_ELF_1_2_13 ! 119: ! 120: #define DC390WUF { \ ! 121: NULL, \ ! 122: NULL, \ ! 123: "Tekram DC390WUF(T) V1.12 Feb-17-1997",\ ! 124: DC390W_detect, \ ! 125: DC390W_release, \ ! 126: NULL, /* info */ \ ! 127: NULL, /* command, deprecated */ \ ! 128: DC390W_queue_command, \ ! 129: DC390W_abort, \ ! 130: DC390W_reset, \ ! 131: NULL, /* slave attach */\ ! 132: DC390W_bios_param, \ ! 133: 10,/* can queue(-1) */ \ ! 134: 7, /* id(-1) */ \ ! 135: 16,/* old (SG_ALL) */ \ ! 136: 2, /* cmd per lun(2) */ \ ! 137: 0, /* present */ \ ! 138: 0, /* unchecked isa dma */ \ ! 139: ENABLE_CLUSTERING \ ! 140: } ! 141: #endif ! 142: ! 143: #endif /* defined(HOSTS_C) || defined(MODULE) */ ! 144: ! 145: #endif /* DC390W_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.