2
* Adaptec AIC79xx device driver host template for Linux.
4
* Copyright (c) 2000-2001 Adaptec Inc.
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
10
* 1. Redistributions of source code must retain the above copyright
11
* notice, this list of conditions, and the following disclaimer,
12
* without modification.
13
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
14
* substantially similar to the "NO WARRANTY" disclaimer below
15
* ("Disclaimer") and any redistribution must be conditioned upon
16
* including a substantially similar Disclaimer requirement for further
17
* binary redistribution.
18
* 3. Neither the names of the above-listed copyright holders nor the names
19
* of any contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
22
* Alternatively, this software may be distributed under the terms of the
23
* GNU General Public License ("GPL") version 2 as published by the Free
24
* Software Foundation.
27
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
30
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
35
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
36
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37
* POSSIBILITY OF SUCH DAMAGES.
39
* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_host.h#6 $
42
#ifndef _AIC79XX_LINUX_HOST_H_
43
#define _AIC79XX_LINUX_HOST_H_
45
int ahd_linux_proc_info(char *, char **, off_t, int, int, int);
46
int ahd_linux_queue(Scsi_Cmnd *, void (*)(Scsi_Cmnd *));
47
int ahd_linux_detect(Scsi_Host_Template *);
48
int ahd_linux_release(struct Scsi_Host *);
49
const char *ahd_linux_info(struct Scsi_Host *);
50
int ahd_linux_biosparam(Disk *, kdev_t, int[]);
51
int ahd_linux_bus_reset(Scsi_Cmnd *);
52
int ahd_linux_dev_reset(Scsi_Cmnd *);
53
int ahd_linux_abort(Scsi_Cmnd *);
56
# define AIC79XX_BIOSPARAM ahd_linux_biosparam
58
# define AIC79XX_BIOSPARAM NULL
62
* Scsi_Host_Template (see hosts.h) for AIC-79xx - some fields
63
* to do with card config are filled in after the card is detected.
67
proc_info: ahd_linux_proc_info, \
73
detect: ahd_linux_detect, \
74
release: ahd_linux_release, \
75
info: ahd_linux_info, \
77
queuecommand: ahd_linux_queue, \
78
eh_strategy_handler: NULL, \
79
eh_abort_handler: ahd_linux_abort, \
80
eh_device_reset_handler: ahd_linux_dev_reset, \
81
eh_bus_reset_handler: ahd_linux_bus_reset, \
82
eh_host_reset_handler: NULL, \
86
bios_param: AIC79XX_BIOSPARAM, \
87
can_queue: AHD_MAX_QUEUE,/* max simultaneous cmds */\
88
this_id: -1, /* scsi id of host adapter */\
89
sg_tablesize: AHD_NSEG, /* max scatter-gather cmds */\
90
cmd_per_lun: 2, /* cmds per lun */\
91
present: 0, /* number of 7xxx's present */\
92
unchecked_isa_dma: 0, /* no memory DMA restrictions*/\
93
use_clustering: ENABLE_CLUSTERING, \
97
#endif /* _AIC79XX_LINUX_HOST_H_ */