|
|
1.1 root 1: /*+M*************************************************************************
2: * Adaptec AIC7xxx device driver for Linux.
3: *
4: * Copyright (c) 1994 John Aycock
5: * The University of Calgary Department of Computer Science.
6: *
7: * This program is free software; you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as published by
9: * the Free Software Foundation; either version 2, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public License
18: * along with this program; see the file COPYING. If not, write to
19: * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
20: *
21: * $Id: aic7xxx.h,v 1.1 1999/04/26 05:54:18 tb Exp $
22: *-M*************************************************************************/
23: #ifndef _aic7xxx_h
24: #define _aic7xxx_h
25:
26: #define AIC7XXX_H_VERSION "3.2.4"
27:
28: #ifndef LINUX_VERSION_CODE
29: #include <linux/version.h>
30: #endif
31:
32: #ifndef KERNEL_VERSION
33: #define KERNEL_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z))
34: #endif
35:
36: #if defined(__i386__)
37: # define AIC7XXX_BIOSPARAM aic7xxx_biosparam
38: #else
39: # define AIC7XXX_BIOSPARAM NULL
40: #endif
41:
42: /*
43: * Scsi_Host_Template (see hosts.h) for AIC-7xxx - some fields
44: * to do with card config are filled in after the card is detected.
45: */
46: #if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,65)
47: #define AIC7XXX { \
48: next: NULL, \
49: module: NULL, \
50: proc_dir: NULL, \
51: proc_info: aic7xxx_proc_info, \
52: name: NULL, \
53: detect: aic7xxx_detect, \
54: release: aic7xxx_release, \
55: info: aic7xxx_info, \
56: command: NULL, \
57: queuecommand: aic7xxx_queue, \
58: eh_strategy_handler: NULL, \
59: eh_abort_handler: NULL, \
60: eh_device_reset_handler: NULL, \
61: eh_bus_reset_handler: NULL, \
62: eh_host_reset_handler: NULL, \
63: abort: aic7xxx_abort, \
64: reset: aic7xxx_reset, \
65: slave_attach: NULL, \
66: bios_param: AIC7XXX_BIOSPARAM, \
67: can_queue: 255, /* max simultaneous cmds */\
68: this_id: -1, /* scsi id of host adapter */\
69: sg_tablesize: 0, /* max scatter-gather cmds */\
70: cmd_per_lun: 3, /* cmds per lun (linked cmds) */\
71: present: 0, /* number of 7xxx's present */\
72: unchecked_isa_dma: 0, /* no memory DMA restrictions */\
73: use_clustering: ENABLE_CLUSTERING, \
74: use_new_eh_code: 0 \
75: }
76: #else
77: #define AIC7XXX { \
78: next: NULL, \
79: usage_count: NULL, \
80: proc_dir: NULL, \
81: proc_info: aic7xxx_proc_info, \
82: name: NULL, \
83: detect: aic7xxx_detect, \
84: release: aic7xxx_release, \
85: info: aic7xxx_info, \
86: command: NULL, \
87: queuecommand: aic7xxx_queue, \
88: abort: aic7xxx_abort, \
89: reset: aic7xxx_reset, \
90: slave_attach: NULL, \
91: bios_param: AIC7XXX_BIOSPARAM, \
92: can_queue: 255, /* max simultaneous cmds */\
93: this_id: -1, /* scsi id of host adapter */\
94: sg_tablesize: 0, /* max scatter-gather cmds */\
95: cmd_per_lun: 3, /* cmds per lun (linked cmds) */\
96: present: 0, /* number of 7xxx's present */\
97: unchecked_isa_dma: 0, /* no memory DMA restrictions */\
98: use_clustering: ENABLE_CLUSTERING \
99: }
100: #endif
101:
102: extern int aic7xxx_queue(Scsi_Cmnd *, void (*)(Scsi_Cmnd *));
103: extern int aic7xxx_biosparam(Disk *, kdev_t, int[]);
104: extern int aic7xxx_detect(Scsi_Host_Template *);
105: extern int aic7xxx_command(Scsi_Cmnd *);
106: extern int aic7xxx_reset(Scsi_Cmnd *, unsigned int);
107: extern int aic7xxx_abort(Scsi_Cmnd *);
108: extern int aic7xxx_release(struct Scsi_Host *);
109:
110: extern const char *aic7xxx_info(struct Scsi_Host *);
111:
112: extern int aic7xxx_proc_info(char *, char **, off_t, int, int, int);
113:
114: #endif /* _aic7xxx_h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.