OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [drivers/] [scsi/] [aic7xxx.h] - Blame information for rev 1772

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1626 jcastillo
/*+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 2005-12-20 10:17:45 jcastillo 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 */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.